ホームページ  >  記事  >  Java  >  Java で電子メールを送信すると「接続が拒否されました」エラーが発生するのはなぜですか?

Java で電子メールを送信すると「接続が拒否されました」エラーが発生するのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-07 15:44:02301ブラウズ

Why Am I Getting a

Java を使用した電子メールの送信: 接続拒否エラーの解決

コード スニペットでは、ローカルホストを使用して電子メールを送信しようとすると、「接続が拒否されました」エラーが発生します。 SMTPサーバー。これは、SMTP サーバーがそのホストまたはポートでリッスンしていないことを示します。

解決策

この問題を解決するには、次のいずれかを行う必要があります。

  1. ローカル SMTP サーバーを構成します: ローカル マシンで有効な SMTP サーバーが実行されていることを確認します。これを行うには、Postfix や Exim などのメール サーバーをセットアップします。
  2. クラウドベースの SMTP サービスを使用します: Google の SMTP サーバーや Amazon など、信頼性の高いクラウドベースの SMTP サービスの使用を検討してください。 SES。これらのサービスは、ローカル サーバーを維持する必要がなく、堅牢でスケーラブルな SMTP 機能を提供します。

GoogleMail クラスを使用した代替コード

ローカル SMTP サーバーの使用が不可能な場合は、以下を利用できます。応答で提供された GoogleMail クラス。このクラスは、Google の SMTP サーバーを使用して電子メールを送信するプロセスを簡素化します。 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...");
    }
}

メールを送信するたびにパスワードを入力する必要がないようにするには、Google から更新トークンを取得してファイルに保存する必要があることに注意してください。 .

結論

SMTP 接続の問題に対処するか、提供されている GoogleMail クラスを利用することで、Java を使用して電子メールを正常に送信できます。必ずコード スニペットを調整して、自分のメール認証情報とメッセージのコンテンツを含めてください。

以上がJava で電子メールを送信すると「接続が拒否されました」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。