发送电子邮件时出现异常

本文关键字:异常 电子邮件 | 更新日期: 2023-09-27 18:22:42

错误:

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);
}

发送电子邮件时出现异常

我认为您有错误的服务器地址。看看这里: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);
}

这个问题的提示:

无法通过交换发送电子邮件:远程主机强制关闭了现有连接

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