使用 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中文网其他相关文章!