Javaxmail API

acr1904

Mitglied
Hallo,

ich bin gerade dabei ein Programm zu erstellen, bei dem man mithilfe der Javamail API eine Email über die Konsole von Eclipse versenden kann. Leider kann ich mich immer nur über den Gmail smtp Server verbinden und nicht etwa über einen smtp Server von z.B. gmx. Ist es denn überhaupt möglich mithilfe der Javamail Emails auch über andere Server abzuschicken als die von gmail und yahoo?
 

acr1904

Mitglied
Also ich habe schon verschiedene Programme aus dem Internet kopiert und lediglich den SMTP Server und Port geändert um das Programm mit gmx zu verbinden, bekomme aber folgende exception:

Exception in thread "main" com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeout -1;
Kann mir jemand sagen woran es liegen könnte? Oder hat jemand ein vorgefertigtes Programm für die Javamail API bei dem man den Port und SMTP Server ändern kann und es auch funktioniert?
 

acr1904

Mitglied
@httpdigest

ich habe den Port und den localhost natürlich angepasst an die von GMX, funktionieren tut es trotzdem nicht. Aber dann wird es sicher am Code liegen und nicht an den eingegebenen Daten. Evtl ist der Code nur auf gmail fixiert, ich poste ihn hier mal rein
 

acr1904

Mitglied
Java:
import javax.mail.*;

import javax.mail.internet.*;

import java.security.Security;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;

public class Sendemail
{
    final String senderEmailID = "";
    final String senderPassword = ""
    final String emailSMTPserver = "mail.gmx.net";
    final String emailServerPort = "587";

    String receiverEmailID = null;
    String emailSubject = null;
    String emailBody = null;

    public Sendemail(String receiverEmailID, String emailSubject, String emailBody)
    {
        this.receiverEmailID=receiverEmailID;
        this.emailSubject=emailSubject;
        this.emailBody=emailBody;


        Properties props = new Properties();
        props.put("mail.smtp.user",senderEmailID);
        props.put("mail.smtp.host", emailSMTPserver);
        props.put("mail.smtp.port", emailServerPort);
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.auth", "true");
        // props.put("mail.smtp.debug", "true");
        props.put("mail.smtp.socketFactory.port", emailServerPort);
        props.put("mail.smtp.socketFactory.class",
                "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.socketFactory.fallback", "false");

        SecurityManager security = System.getSecurityManager();

        try
        {
            Authenticator auth = new SMTPAuthenticator();
            Session session = Session.getInstance(props, auth);
            // session.setDebug(true);

            MimeMessage msg = new MimeMessage(session);
            msg.setText(emailBody);
            msg.setSubject(emailSubject);
            msg.setFrom(new InternetAddress(senderEmailID));
            msg.addRecipient(Message.RecipientType.TO,
                    new InternetAddress(receiverEmailID));
            Transport.send(msg);
        }
        catch (Exception mex)
        {
            mex.printStackTrace();
        }


    }
    public class SMTPAuthenticator extends javax.mail.Authenticator
    {
        public PasswordAuthentication getPasswordAuthentication()
        {
            return new PasswordAuthentication(senderEmailID, senderPassword);
        }             
    }
    public static void main(String[]args){
      
        Sendemail x = new Sendemail("email", "hi", "elo");
      
    }
}
 
Zuletzt bearbeitet von einem Moderator:

acr1904

Mitglied
War mir etwas peinlich es reinzuschreiben aber wenn ich schon gefragt werde..der Fehler war, dass ich das falsche Passwort für die Email benutzt habe........sorry....:D
 
X

Xyz1

Gast
Exakt sowas brauchte ich vor ein paar Tagen auch, um alle Mails von GMX zu saven:

(insofern sich etwas nicht geändert hat funktioniert das auch)
Java:
host = "pop.gmx.net";
user = "321@gmx.net";
pw = "t";

// connect to my pop3 inbox
Properties props = System.getProperties();
props.setProperty("mail.pop3.ssl.enable", "true");
props.setProperty("mail.pop3.ssl.trust", "*"); // Trust all Servers
Session session = Session.getDefaultInstance(props);
Store store = session.getStore("pop3");
store.connect(host, 995, user, pw);
Folder inbox = store.getFolder("Inbox");
inbox.open(Folder.READ_ONLY);

// get the list of inbox messages
Message[] messages = inbox.getMessages();

for (int i = messages.length - 1; i >= 0; i--) {

    try {
        wri.println(";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;");
        wri.println("Message " + (i + 1));
        Address[] allRecipients = messages[i].getAllRecipients();
        if (allRecipients.length > 0) {
            wri.println("To : " + allRecipients[0]);
        }
        Address[] from = messages[i].getFrom();
        if (from.length > 0) {
            wri.println("From : " + from[0]);
        }
        wri.println("Subject : " + messages[i].getSubject());
        wri.println("Sent Date : " + messages[i].getSentDate());
        wri.println("Content : ");
        wri.println(messages[i].getContentType());
        wri.println(messages[i].getContent());
        wri.println(";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;");
        wri.println();
        wri.flush();
    } catch (Exception ex) {
        ex.printStackTrace();
    }
    Thread.sleep(250);
}

inbox.close(true);
store.close();

//wri.flush();

Alles selbsterklärend.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Javaxmail API Allgemeine Java-Themen 0

Ähnliche Java Themen

Neue Themen


Oben