Skip to main content
 首页 » 编程设计

c#之使用 SmtpClient 类通过 ASP.NET 网站将电子邮件发送到 MX 记录

2024年01月11日30dyllove98

我最近在从网络应用程序发送电子邮件时遇到问题。我不断收到来自邮件中继的连接拒绝异常(而且它始终是相同的邮件中继)。在与邮件团队深入讨论后,我被告知我没有使用 MX 记录来发送邮件。然而,我想我是。 MX 记录是 ma​​ilhub-us.xxx.us.net。这是我用来发送电子邮件的代码(显然我将 mailhub 地址称为服务器)

    MailMessage msgMail = new MailMessage(); 
    ****Some code to populate msgMail 
    SmtpClient smtpClient = new SmtpClient("mailhub-us.xxx.us.net"); 
    smtpClient.Send(msgMail); 

是的,我知道我最好使用 <mailsettings>在 web.config 中(我在研究过程中学到的东西以及我打算更正的东西)。我已经检查以确保使用 nslookup 在 DNS 上设置了 MX 记录,并且为此条目配置了 3 个服务器。

此时我有点困惑,因为我认为我使用的是 MX 记录,因此故障转移应该会自动发生。我这么说是愚蠢还是我还缺少其他东西?感谢在此问题上的任何帮助。

请您参考如下方法:

在你的 web.config 文件中添加这个

 <system.net>  
<mailSettings> 
  <smtp from="fromemail"> 
    <network host="hostname" defaultCredentials="false" 
    port="xx" userName="xxxx" password="xxx" /> 
  </smtp> 
</mailSettings> 

在你的后端代码中,你可以做类似的事情

       var message = new MailMessage(); 
        message.IsBodyHtml = true; 
        message.From = new MailAddress(from); 
        message.To.Add(to); 
        message.Subject = subject; 
        message.Body = msg; 
        var client = new SmtpClient(); 
        client.Send(message);