发送电子邮件时例外

时间:2015-11-19 10:55:19

标签: c#

错误:

  

System.Mail.SmtpException:System.IO.IOEXCEPTION   {“无法从传输连接读取数据:远程主机强行关闭现有连接。”}

代码:

string mailServer = "outlook.domain.com";

SmtpClient client = new SmtpClient(mailServer, 587);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
client.UseDefaultCredentials = false;

var AuthenticationDetails = new NetworkCredential("user@domain.com", "password");
client.Credentials = AuthenticationDetails;

using (MailMessage message = new MailMessage("user@domain.com", recipient))
{
    message.IsBodyHtml = true;
    message.Body = htmlString;
    message.Subject = "Test Email";

    client.Send(message);
}

2 个答案:

答案 0 :(得分:0)

我相信你有错误的服务器地址。看看这里: http://windows.microsoft.com/en-us/windows/outlook/send-receive-from-app

使用正确的地址供您使用。

string mailServer = "smtp-mail.outlook.com";

SmtpClient client = new SmtpClient(mailServer, 25); // or 587
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
client.UseDefaultCredentials = false;

var AuthenticationDetails = new NetworkCredential("user@domain.com", "password");
client.Credentials = AuthenticationDetails;

using (MailMessage message = new MailMessage("user@domain.com", recipient))
{
    message.IsBodyHtml = true;
    message.Body = htmlString;
    message.Subject = "Test Email";

    client.Send(message);
}

这个问题的提示:

Cant emails through exchange: An existing connection was forcibly closed by the remote host

答案 1 :(得分:0)

通过提供正确的主机名和端口解决了问题。谢谢大家的帮助。

相关问题