Heim  >  Artikel  >  Java  >  Wie verwende ich sowohl SSL- als auch Nicht-SSL-Verbindungen in Java Mail?

Wie verwende ich sowohl SSL- als auch Nicht-SSL-Verbindungen in Java Mail?

王林
王林nach vorne
2023-04-27 14:31:071653Durchsuche

Kürzlich bin ich beim Ausführen von Java-Mail-SSL auf ein Problem gestoßen: Die Verwendung von JavaMail zum Empfangen von E-Mails kann nicht erfolgreich sein, nachdem das System eine bestimmte Zeit lang ausgeführt wurde.
Die Fehlermeldung lautet wie folgt:
javax.mail.MessagingException: Verbindung fehlgeschlagen;
verschachtelte Ausnahme ist:
javax. net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX-Pfaderstellung fehlgeschlagen: sun.security.provider.certpath.SunCertPathBuilderException: gültiger Zertifizierungspfad zum angeforderten Ziel
at com konnte nicht gefunden werden. sun.mail.pop3.POP3Store. ProtocolConnect(POP3Store.java:148)
bei javax.mail.Service.connect(Service.java:275)
bei javax.mail.Service.connect(Service.java:156)
bei javax.mail.Service.connect( Service.java:105)
Oder der Mailserver, der SSL nicht aktiviert, hat den folgenden Fehler:
nestedException is:
java.net.ConnectException: Connection verweigert
at com.sun.mail .pop3.POP3Store.protocolConnect(POP3Store.java:148)

Telnet zum Mailserver Es gibt kein Problem mit dem Benutzernamen und dem Passwort. Es scheint, dass es nur ein Programmproblem gibt.

Properties props = System.getProperties() wurde beim Erstellen von MailSession verwendet; als ich dies ausdruckte, stellte ich fest, dass die SSL-Verifizierung nicht hätte verwendet werden dürfen, aber die Verifizierungsinformationen sollten nicht angezeigt werden, also jetzt jedes Mal POP3 If Sie benötigen beim Verknüpfen keinen SSL-Link. Entfernen Sie diese Attribute und das Problem ist behoben.
Endlich herausgefunden, wer System.getProperties() geändert hat. Es stellt sich heraus, dass im selben Tomcat ein anderes System läuft. Der von diesem System verwendete Mailserver verwendet die SSL-Verifizierung zum Senden und Empfangen von E-Mails und empfängt alle 30 Minuten E-Mails Aufgrund des Programms Die oben genannten Fehler traten auf, weil das Schreiben nicht streng genug war. Nach der Verbesserung des Programms können die beiden Systeme endlich in einem TOMCAT koexistieren.

Das obige ist der detaillierte Inhalt vonWie verwende ich sowohl SSL- als auch Nicht-SSL-Verbindungen in Java Mail?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen