首頁 >後端開發 >C++ >如何在 ASP.NET C# 中成功傳送電子郵件?

如何在 ASP.NET C# 中成功傳送電子郵件?

DDD
DDD原創
2025-01-17 15:42:15479瀏覽

How to Successfully Send Emails in ASP.NET C#?

使用 ASP.NET C# 成功發送電子郵件

挑戰:

新的 ASP.NET C# 開發人員經常會遇到發送電子郵件的困難。 一個常見問題是由不正確的 SMTP 伺服器配置和身份驗證引起的。

初始程式碼(及其缺點):

以下程式碼片段示範了典型的失敗嘗試:

<code class="language-csharp">MailMessage mailObj = new MailMessage(
    txtFrom.Text, txtTo.Text, txtSubject.Text, txtBody.Text);
SmtpClient SMTPServer = new SmtpClient("127.0.0.1");
try
{
    SMTPServer.Send(mailObj);
}
catch (Exception ex)
{
    Label1.Text = ex.ToString();
}</code>

此程式碼失敗,因為它使用本機 SMTP 伺服器(「127.0.0.1」)並且缺少正確的驗證詳細資訊。

更正程式碼:

這是修正後的實作:

<code class="language-csharp">SmtpClient smtpClient = new SmtpClient("smtp-proxy.tm.net.my", 25);
smtpClient.Credentials = new System.Net.NetworkCredential("[email protected]", "myIDPassword");
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.EnableSsl = true;
MailMessage mail = new MailMessage();

// Setting Sender, Recipient, and CC
mail.From = new MailAddress("info@MyWebsiteDomainName.com", "MyWeb Site");
mail.To.Add(new MailAddress("info@MyWebsiteDomainName.com"));
mail.CC.Add(new MailAddress("[email protected]"));

smtpClient.Send(mail);</code>

主要改善:

  • 正確的 SMTP 伺服器:"smtp-proxy.tm.net.my" 替換為您的網際網路服務供應商 (ISP) 的 SMTP 伺服器位址。
  • 驗證:"[email protected]" 替換為您的電子郵件地址,將 "myIDPassword" 替換為您的電子郵件密碼。 使用強密碼並考慮更安全的身份驗證方法(如果可用)。
  • SSL 加密: smtpClient.EnableSsl = true; 確保安全通訊(如果您的 SMTP 伺服器需要)。 檢查您的 ISP 的 SMTP 設定。
  • 顯式 MailAddress 物件: 使用 MailAddress 表示 FromToCC 可以提供更好的錯誤處理和清晰度。

請記得將佔位符值替換為您的實際 SMTP 伺服器詳細資料和憑證。 始終優先考慮安全編碼實踐並保護您的憑證。

以上是如何在 ASP.NET C# 中成功傳送電子郵件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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