Mein Java-Programm hat das Senden von E-Mails über mein Google Mail-Konto beendet

7

Ich habe mehrere verwandte Beiträge hier und an anderen Orten durchsucht, aber keine von ihnen hat mein Problem gelöst. Ich habe ein Programm, das per "javamail API" E-Mails an eine Gruppe von Leuten sendet. Es hat einmal gut funktioniert. Heute brauchte ich wieder, aber ich kann keine E-Mail senden ... Meine sendEmail-Methode ist die folgende:

%Vor%

So, jetzt der Versuch, diese Methode aufzurufen, habe ich den folgenden Fehler erhalten (Ich benutze jdk 1.7.0_21):

%Vor%

Ich weiß nicht, wie ich dieses Problem lösen soll, da es früher funktioniert hat ... Außerdem weiß ich nicht, ob mein Google Mail etwas damit zu tun hat (wenn es diesen Zugriff blockiert hat ...)

Ich schätze jede Hilfe.

    
user2484053 13.06.2013, 22:30
quelle

3 Antworten

25

Der Schlüsselfehler ist dies:

verursacht durch: sun.security.provider.certpath.SunCertPathBuilderException: Es konnte kein gültiger Zertifizierungspfad zum angeforderten Ziel gefunden werden

Siehe diesen JavaMail FAQ-Eintrag .

Da Sie eine Verbindung mit Google Mail herstellen, sollte dies nicht passieren. Die wahrscheinlichsten Ursachen sind:

  • Es gibt eine Firewall oder ein Antivirenprogramm, die Ihre Anfrage abfangen.
  • Es liegt ein Fehler in Ihrer JDK-Installation vor, die es verhindert, die vertrauenswürdigen Zertifizierungsstellen zu finden
  • Sie laufen auf einem Anwendungsserver, der die JDK-Liste der vertrauenswürdigen Zertifizierungsstellen überschrieben hat
Bill Shannon 14.06.2013, 18:54
quelle
5

Ich habe mit diesem Fehler mehrere Stunden gekämpft. Ich habe versucht, die Server-Zertifikate mit der Antwort von Bil Shannon zu installieren. Nichts hat funktioniert.

Mein Problem war AVAST Antivirus. Sobald ich Avast Mail Shield deaktiviert habe, war ich in der Lage, über die Google Mail-App E-Mails über das Google Mail-Konto zu versenden.

    
razvang 09.12.2014 22:01
quelle
0

Ich hatte dieses Problem mit Java 8. Nach der Aktualisierung dieser Eigenschaft Problem gelöst

properties.put ("mail.smtp.ssl.trust", "smtp.gmail.com")

wenn Spring-Boot in application.property verwendet wird

spring.mail.properties.mail.smtp.ssl.trust = smtp.gmail.com

    
Asanka 14.11.2017 07:53
quelle

Tags und Links