我有一个项目需要通过本地电子邮件向员工发送通知。我使用SmtpClient类发送电子邮件但没有用!这是代码:
MailMessage message = new MailMessage();
message.From = new MailAddress("localmail1@company.com");
message.To.Add(new MailAddress("localmail2@company.com"));
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服务器。
我该如何解决?
答案 0 :(得分:4)
使用服务器的完全限定名称,例如exchangeDNS.example.com。如果这不起作用,请尝试IP地址。您可能希望手动telnet到Exchange服务器上的端口25,只是为了查看是否可能。另外,请检查您的服务器是否需要经过身份验证或加密的连接。如果是这样,您将需要提供带有请求的凭据,或者更改为使用SSL和安全端口。
答案 1 :(得分:1)
假设你有服务器并且任何所需的凭据都是正确的(仔细检查这些)我会尝试增加timeout on the SMTP client。
答案 2 :(得分:1)
你的代码很好。这是您怀疑的Exchange服务器的配置。 Exchange管理员的一些选项:
如果您发布有关Exchange配置的更多详细信息,我可以提供帮助,但可能会将此问题降级为“无编程相关”。