JavaMail mit TLS verwenden
Fand ich einige andere Fragen auf, SO dass in Bezug auf die JavaMail-API und senden von E-Mails über einen SMTP-server, aber keiner von Ihnen diskutiert mit TLS-Sicherheit. Ich versuche die Verwendung von JavaMail zum versenden von status-updates, um mich durch meine Arbeit SMTP-mail-server, aber es erfordert TLS, und ich finde keine Beispiele online, wie die Verwendung von JavaMail Zugriff auf einen SMTP-server TLS-Verschlüsselung erforderlich. Kann mir jemand helfen mit diesem?
InformationsquelleAutor der Frage dancavallaro | 2009-01-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben wir wirklich ein paar notification-code in unserem Produkt verwendet TLS zum senden von E-mail, wenn es verfügbar ist.
Müssen Sie die Java-Mail-Eigenschaften. Sie brauchen nur die TLS eines möglicherweise müssen Sie SSL, wenn Ihr SMTP-server SSL verwendet.
Können Sie dann entweder passen diese zu einem JavaMail-Session oder irgendein anderer session-instantiator wie
Session.getDefaultInstance(props)
.InformationsquelleAutor der Antwort Sarat
Guter Beitrag, der Linie
ist zwingend erforderlich, wenn der SMTP-server verwendet SSL-Authentifizierungwie der GMail-SMTP-server ist. Allerdings, wenn der server verwendet Klartext-Authentifizierung über TLSsollte es nicht vorhanden sein, da Java-Mails wird sich über die erste Verbindung als Klartext.
Auch sicherstellen, dass Sie über die neueste version von Java Mail. Vor kurzem habe ich einige alte Java-Mail-Gläser aus einem vorherigen Projekt und konnte nicht den code, da der login-Prozess wurde nicht. Nachdem ich ein Upgrade auf die neueste version von Java Mail, die Ursache des Fehlers wurde klar: es war ein javax.net.ssl.SSLHandshakeException, die wurde nicht geworfen, bis in die alte version der lib.
InformationsquelleAutor der Antwort
Den Einstellungen aus dem Beispiel oben wird nicht für die server und ich war mit (authsmtp.com). Ich hielt auf immer diese Fehlermeldung:
Entfernte ich die mail.smtp.socketFactory Einstellungen und alles funktionierte. Die letzten Einstellungen waren dies (SMTP-auth verwendet wurde und ich den Hafen an anderer Stelle):
InformationsquelleAutor der Antwort Brent Matzelle
Einfach den folgenden code verwenden. Es ist wirklich nützlich, um E-Mail senden via Java und es funktioniert:
InformationsquelleAutor der Antwort Renish Khunt
Mit Einfache Java-5.0.0 E-Mail (simplejavamail.org) es ist sehr einfach und die Bibliothek kümmert sich um alle Session-Eigenschaften für Sie.
Hier ist ein Beispiel mit Google ' s SMTP-Server:
Wenn Sie zwei-Faktor-login aktiviert ist, müssen Sie zum generieren eines anwendungsspezifische Passwort aus Ihrem Google-Konto.
InformationsquelleAutor der Antwort Benny Bottema