如何使用asp.net交换本地电子邮件?

问题描述:

我有一个项目需要通过本地电子邮件向员工发送通知。我使用SmtpClient类来发送电子邮件,但没有工作!这里是代码:如何使用asp.net交换本地电子邮件?

MailMessage message = new MailMessage(); 

    message.From = new MailAddress("[email protected]"); 
    message.To.Add(new MailAddress("[email protected]")); 
    message.Subject = "Sending mail"; 
    message.Body = "Check sending email by Exchange from asp.net code <> "; 

    SmtpClient client = new SmtpClient("ExchangeDNS", 25); 

    try 
    { 
     client.Send(message); 
    } 
    catch (Exception exc) 
    { 
     Label1.Text = exc.Message.ToString(); 
    } 

当我点击按钮,它给我一个SmtpException与消息:Failure sending mail.

注意:我们使用的Exchange服务器。

我该如何解决?

假设你有服务器和任何必需的凭据正确(仔细检查这些)我会尝试增加timeout on the SMTP client

使用服务器的完全限定名称,例如exchangeDNS.example.com。如果这不起作用,请尝试IP地址。您可能需要手动telnet到Exchange服务器上的端口25,以查看是否可能。另外,请检查您的服务器是否需要经过身份验证或加密的连接。如果是这样,那么您需要提供证书以满足请求或更改为使用SSL和安全端口。

你的代码没问题。这是你的Exchange服务器的配置是可疑的。 Exchange管理员的一些选项:

  • 允许匿名SMTP连接。
  • 将IP列入白名单,以便只有您的Web服务器才能以此方式发送邮件。
  • 为Web服务器创建一个Active Directory帐户,然后让您的班级使用用户名和密码进行身份验证。

如果您发布有关Exchange配置的更多详细信息,我可以帮助解决此问题,因为“与编程无关”。