首頁 > 後端開發 > C++ > 為什麼從我的應用程式發送電子郵件時出現「SMTP 伺服器需要身份驗證」錯誤?

為什麼從我的應用程式發送電子郵件時出現「SMTP 伺服器需要身份驗證」錯誤?

Mary-Kate Olsen
發布: 2025-01-17 22:47:10
原創
228 人瀏覽過

Why Am I Getting an

排查 Google 帳戶中的 SMTP 伺服器驗證錯誤

問題:

從本機應用程式透過SMTP 發送電子郵件會導致錯誤:「SMTP 伺服器需要安全連線或用戶端未經過驗證。伺服器回應為:5.5.1 需要驗證。」 即使啟用了SSL 且憑證正確,問題仍然存在。

解:

此錯誤通常表示您的 Google 帳戶的「安全性較低的應用程式存取」設定已停用。 解決方法如下:

  1. 存取您的 Google 帳戶。
  2. 前往帳戶> 安全 > 應用程式存取安全性較低
  3. 啟用安全性較低的應用程式存取選項。

程式碼範例(C#):

以下 C# 程式碼示範如何在啟用較不安全的應用程式存取後發送電子郵件:

<code class="language-csharp">using System.Net.Mail;
using System.Net;

MailMessage mail = new MailMessage();

mail.From = new MailAddress("your_email@gmail.com"); // Replace with your email
mail.To.Add("recipient_email@example.com"); // Replace with recipient's email
mail.Subject = "Test Email";
mail.Body = "Test Email Content";
mail.Priority = MailPriority.High;

SmtpClient client = new SmtpClient();

client.Credentials = new NetworkCredential("your_email@gmail.com", "your_password"); // Replace with your credentials
client.Host = "smtp.gmail.com";
client.Port = 587;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
client.UseDefaultCredentials = false;

client.Send(mail);</code>
登入後複製

重要注意事項:

  • 雖然啟用安全性較低的應用程式存取允許較舊的應用程式進行連接,但它的安全性低於 OAuth 2.0 等替代方案。 考慮遷移到 OAuth 2.0 以增強安全性。
  • Google 未來可能會停用安全性較低的應用程式訪問,因此建議使用更安全的身份驗證方法以實現長期穩定性。

以上是為什麼從我的應用程式發送電子郵件時出現「SMTP 伺服器需要身份驗證」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板