Hallo!
Ich versuche seit mehreren Tagen ein Problem mit JavaMail zu lösen. (Googeln über mehrere Tage hat nicht geholfen. Ich habe schon die gesamte Anleitung von Oracle bzgl. SSL gelesen - aber ich verstehe es scheinbar nicht...)
Also, es wäre schön, wenn mir jemand helfen könnte...
Folgenden Code verwende ich für das Versenden von eMails über SMTP:
Dieser funktioniert bei web.de, firemail.de, gmail. Aber nicht bei z.B. gmx.de.
Folgende Fehlermeldung (Log) kommt bei gmx.de (SMTP: mail.gmx.net, Port "587"):
D/Error(27096): Error: javax.mail.AuthenticationFailedException: 535 Authentication credentials invalid
Ich habe verschiedene Ports und verschiedene SMTP-Einstellungen vorgenommen.
Ich habe schon sämtliche Möglichkeiten auch in Bezug auf SSL und Verwenden von smtps versucht. Es kommt immer wieder zu Fehlermeldungen.
Was kann ich noch machen, dass dieser Code generell funktioniert. Ich glaube, dass ich SSL verwenden muss. Zumal ich von web.de auch schon die Mail bekommen habe, dass in Zukunft nur noch SSL-Verschlüsselung erlaubt ist.
Aber auch zum Beispiel folgender Block funktioniert nicht:
Welche Einstellungen brauche ich?
Ich freue mich über Antworten!!!
Carsten
Ich versuche seit mehreren Tagen ein Problem mit JavaMail zu lösen. (Googeln über mehrere Tage hat nicht geholfen. Ich habe schon die gesamte Anleitung von Oracle bzgl. SSL gelesen - aber ich verstehe es scheinbar nicht...)
Also, es wäre schön, wenn mir jemand helfen könnte...
Folgenden Code verwende ich für das Versenden von eMails über SMTP:
Java:
Properties props = System.getProperties();
props.put("mail.smtp.host", SMTP);
props.put("mail.smtp.socketFactory.port", Port);
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", Port);
props.put("mail.smtp.user", Adresse);
props.put("mail.password", Passwort);
javax.mail.Authenticator auth = new javax.mail.Authenticator() {
@Override
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(Adresse, Passwort);
}
};
Session session = Session.getInstance(props, auth);
Message msg = new MimeMessage(session);
try {
msg.setFrom(new InternetAddress(Adresse, Adresse));
msg.addRecipient(Message.RecipientType.TO, new InternetAddress(
"to@web.de"));
msg.addRecipient(Message.RecipientType.CC, new InternetAddress(
"tocck@web.de"));
msg.setSubject("SUBJECT");
msg.setText("THE MESSAGE");
msg.saveChanges();
Transport.send(msg);
} catch (UnsupportedEncodingException e) {
Log.d("Error","Error: " + String.valueOf(e));
e.printStackTrace();
} catch (MessagingException e) {
Log.d("Error", "Error: " + String.valueOf(e));
e.printStackTrace();
}
Dieser funktioniert bei web.de, firemail.de, gmail. Aber nicht bei z.B. gmx.de.
Folgende Fehlermeldung (Log) kommt bei gmx.de (SMTP: mail.gmx.net, Port "587"):
D/Error(27096): Error: javax.mail.AuthenticationFailedException: 535 Authentication credentials invalid
Ich habe verschiedene Ports und verschiedene SMTP-Einstellungen vorgenommen.
Ich habe schon sämtliche Möglichkeiten auch in Bezug auf SSL und Verwenden von smtps versucht. Es kommt immer wieder zu Fehlermeldungen.
Was kann ich noch machen, dass dieser Code generell funktioniert. Ich glaube, dass ich SSL verwenden muss. Zumal ich von web.de auch schon die Mail bekommen habe, dass in Zukunft nur noch SSL-Verschlüsselung erlaubt ist.
Aber auch zum Beispiel folgender Block funktioniert nicht:
Java:
Properties props = System.getProperties();
props.put("mail.host", SMTP);
props.put("mail.transport.protocol", "smtps");
props.put("mail.smtps.auth", "true");
props.put("mail.smtps.port", Port);
props.put("mail.smtps.ssl.trust", SMTP);
Welche Einstellungen brauche ich?
Ich freue mich über Antworten!!!
Carsten