首页 >后端开发 >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