首頁  >  文章  >  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 服務:考慮使用可靠的基於雲端的 SMTP 服務,例如 Google 的 SMTP 伺服器或 Amazon社會服務局。這些服務提供強大且可擴展的 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn