使用 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-proxy.tm.net.my"
替換為您的網際網路服務供應商 (ISP) 的 SMTP 伺服器位址。 "[email protected]"
替換為您的電子郵件地址,將 "myIDPassword"
替換為您的電子郵件密碼。 使用強密碼並考慮更安全的身份驗證方法(如果可用)。 smtpClient.EnableSsl = true;
確保安全通訊(如果您的 SMTP 伺服器需要)。 檢查您的 ISP 的 SMTP 設定。 MailAddress
表示 From
、To
和 CC
可以提供更好的錯誤處理和清晰度。 請記得將佔位符值替換為您的實際 SMTP 伺服器詳細資料和憑證。 始終優先考慮安全編碼實踐並保護您的憑證。
以上是如何在 ASP.NET C# 中成功傳送電子郵件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!