如何使用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服务器。
我该如何解决?
答
使用服务器的完全限定名称,例如exchangeDNS.example.com。如果这不起作用,请尝试IP地址。您可能需要手动telnet到Exchange服务器上的端口25,以查看是否可能。另外,请检查您的服务器是否需要经过身份验证或加密的连接。如果是这样,那么您需要提供证书以满足请求或更改为使用SSL和安全端口。
答
你的代码没问题。这是你的Exchange服务器的配置是可疑的。 Exchange管理员的一些选项:
- 允许匿名SMTP连接。
- 将IP列入白名单,以便只有您的Web服务器才能以此方式发送邮件。
- 为Web服务器创建一个Active Directory帐户,然后让您的班级使用用户名和密码进行身份验证。
如果您发布有关Exchange配置的更多详细信息,我可以帮助解决此问题,因为“与编程无关”。