为什么我的SMTP服务器不会发送我的ASP.NET邮件?

时间:2009-03-19 20:42:07

标签: asp.net iis email smtp

我有一个ASP.NET程序,它发送一封包含以下代码的确认电子邮件:

 String msgTxt = "My Message";               
 try
 {
      MailMessage message = new MailMessage();
      message.From  = new MailAddress("info@eatrightamerica.com");
      message.To.Add(new MailAddress(emailParam));
      message.Bcc.Add(new MailAddress("NPClients@eatrightamerica.com"));
      message.Subject   = "Your Nutrition Prescription";
      message.Body  = msgTxt;   

      SmtpClient client = new SmtpClient();
      client.Send(message);
 }
 catch (Exception ex)
 {              
 }

web.config文件包含:

<system.net>  
    <mailSettings>  
       <smtp>  
          <network   
              host="localhost"   
              port="25" />
       </smtp>
    </mailSettings>
</system.net>

我的IIS设置为在端口25上运行(我可以远程登录并测试它,它通过telnet发送就好了。)

有人可以指导我去其他地方寻找问题吗?

4 个答案:

答案 0 :(得分:1)

您是否尝试通过备用 SmtpClient 构造函数设置SMTP服务器和端口?至少那会告诉我们问题不在于配置文件。

int port = 1234;    
SmtpClient client = new SmtpClient("mail.mydomain.com", port);
client.Send(message);

答案 1 :(得分:1)

您运行代码的服务器是否在您的电子邮件环境中设置为SMTP中继?这可能是公司/企业环境中的一个问题。

答案 2 :(得分:0)

您是否尝试过指定smtp元素的deliveryMethod属性?

<system.net>  
    <mailSettings>  
       <smtp deliveryMethod="network">  
          <network   
              host="localhost"   
              port="25" />
       </smtp>
    </mailSettings>
</system.net>

答案 3 :(得分:0)

你真的得到了例外吗?如果没有,您的邮件可能会被接受,但不会被发送到最终目的地。

检查mailroot \ badmail目录。它可能在那里有可能的问题解释(通常是DNS解析)。

您还可以为System.Net.Mail启用日志记录。这是我用更多信息写的链接: http://www.systemnetmail.com/faq/4.10.aspx