Heim > Java > javaLernprogramm > Wie sende ich E-Mails von Localhost, ohne Anmeldeinformationen preiszugeben?

Wie sende ich E-Mails von Localhost, ohne Anmeldeinformationen preiszugeben?

Linda Hamilton
Freigeben: 2024-11-09 09:28:02
Original
476 Leute haben es durchsucht

How to Send Email from Localhost without Exposing Credentials?

E-Mail mit Java senden

Fehler:

Der Fehler „javax.mail.MessagingException: Verbindung zu SMTP konnte nicht hergestellt werden.“ Host: localhost, Port: 25; verschachtelte Ausnahme ist:java.net.ConnectException: Verbindung verweigert: Verbindung“ tritt auf, wenn versucht wird, eine E-Mail zu senden von einem lokalen Host ohne ordnungsgemäß konfigurierten Mailserver.

Lösung:

Der bereitgestellte Code funktioniert zum Senden von E-Mails über den SMTP-Server von Google. Bei dieser Lösung müssen Sie jedoch Ihren Google-Benutzernamen und Ihr Passwort eingeben, um den Sendevorgang zu autorisieren, was Sicherheitsbedenken hervorrufen kann.

Alternative Lösung mit GoogleMail-API:

Für eine sicherere Methode wird empfohlen, die GoogleMail-API mit OAuth2-Autorisierung zu verwenden. Die im Antwortabschnitt bereitgestellten aktualisierten Codeausschnitte veranschaulichen, wie Sie einen autorisierten Gmail-Dienst erstellen und E-Mails mithilfe der API senden.

Schritt-für-Schritt-Anleitung:

  1. Aktivieren Sie die Gmail-API in Ihrer Google Developer Console.
  2. Erhalten Sie Anmeldeinformationen, indem Sie „authorize()“ ausführen. Methode.
  3. Erstellen Sie ein MimeMessage-Objekt, das die E-Mail-Details enthält.
  4. Konvertieren Sie die MimeMessage in ein Gmail-Nachrichtenobjekt.
  5. Senden Sie die E-Mail mit der Send()-Methode von GoogleMail Klasse.

Vorteile der Verwendung von GoogleMail API:

  • Verbesserte Sicherheit: Die OAuth2-Autorisierung stellt sicher, dass Sie Ihre Google-Kontoanmeldeinformationen nicht in Ihrem Code speichern.
  • Moderner Ansatz :Die GoogleMail-API bietet eine moderne und effiziente Möglichkeit, E-Mails zu versenden.
  • Zusätzlich Funktionalität: Die API bietet Funktionen wie E-Mail-Tracking und -Kennzeichnung.

Zusätzliche Hinweise:

  • E-Mail-Adresse laden: Die Methode „loadEmail()“ in der Klasse „Utils“ kann verwendet werden, um die zuvor autorisierte E-Mail abzurufen Adresse.
  • E-Mail-Adresse speichern: Die Methode saveEmail() in der Utils-Klasse kann zum Speichern der autorisierten E-Mail-Adresse verwendet werden.
  • Abmelden: Um sich von einem Gmail-Konto abzumelden, löschen Sie die StoredCredential- und E-Mail-Dateien im Verzeichnis getGmailDataDirectory().

Das obige ist der detaillierte Inhalt vonWie sende ich E-Mails von Localhost, ohne Anmeldeinformationen preiszugeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage