Heim  >  Artikel  >  Java  >  Warum erhalte ich beim Senden von E-Mails in Java die Fehlermeldung „Verbindung abgelehnt“?

Warum erhalte ich beim Senden von E-Mails in Java die Fehlermeldung „Verbindung abgelehnt“?

Linda Hamilton
Linda HamiltonOriginal
2024-11-07 15:44:02301Durchsuche

Why Am I Getting a

E-Mail mit Java senden: Fehler „Verbindung abgelehnt“ beheben

In Ihrem Code-Snippet tritt beim Versuch, eine E-Mail über den Localhost zu senden, der Fehler „Verbindung abgelehnt“ auf SMTP-Server. Dies weist darauf hin, dass der SMTP-Server diesen Host oder Port nicht überwacht.

Lösung

Um dieses Problem zu beheben, müssen Sie entweder:

  1. Konfigurieren Sie Ihren lokalen SMTP-Server: Stellen Sie sicher, dass auf Ihrem lokalen Computer ein gültiger SMTP-Server ausgeführt wird. Dies kann durch die Einrichtung eines Mailservers wie Postfix oder Exim erfolgen.
  2. Verwenden Sie einen cloudbasierten SMTP-Dienst: Erwägen Sie die Verwendung eines zuverlässigen cloudbasierten SMTP-Dienstes wie den SMTP-Server von Google oder Amazon SES. Diese Dienste bieten robuste und skalierbare SMTP-Funktionalität, ohne dass ein lokaler Server gewartet werden muss.

Alternativer Code mit GoogleMail-Klasse

Wenn die Verwendung eines lokalen SMTP-Servers nicht möglich ist, können Sie ihn nutzen die in der Antwort bereitgestellte GoogleMail-Klasse. Diese Klasse vereinfacht den Prozess des E-Mail-Versands über den SMTP-Server von Google. Hier ist ein modifizierter Codeausschnitt mit GoogleMail:

import com.google.api.services.gmail.Gmail;
import com.google.api.services.gmail.model.Message;
import javax.mail.MessagingException;
import java.io.IOException;

public class SendEmail {

    public static void main(String[] args) throws IOException, MessagingException {
        // Replace these variables with your own information
        String username = "your_gmail_username";
        String password = "your_gmail_password";
        String recipientEmail = "recipient_email_address";
        String title = "This is the Subject Line!";
        String message = "This is actual message";

        // Construct an authorized Gmail service
        Gmail service = Utils.getGmail(username, password);

        // Send the email
        GoogleMail.Send(service, recipientEmail, "", "user1@XYZ.com", title, message);
        System.out.println("Sent message successfully...");
    }
}

Beachten Sie, dass Sie ein Aktualisierungstoken von Google erhalten und es in einer Datei speichern müssen, um zu vermeiden, dass Sie jedes Mal, wenn Sie eine E-Mail senden, Ihr Passwort eingeben müssen .

Fazit

Indem Sie das SMTP-Verbindungsproblem beheben oder die bereitgestellte GoogleMail-Klasse nutzen, können Sie E-Mails erfolgreich mit Java versenden. Denken Sie daran, das Code-Snippet so anzupassen, dass es Ihre eigenen E-Mail-Anmeldeinformationen und den Nachrichteninhalt enthält.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Senden von E-Mails in Java die Fehlermeldung „Verbindung abgelehnt“?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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