这是我的代码:
MailAddress to = new MailAddress("[email protected]");
MailAddress from = new MailAddress("[email protected]");
MailMessage message = new MailMessage(from, to);
message.Subject = "Message du siute as-quebec.net de: " + EmailToSend.Email;
message.Body = EmailToSend.Message;
SmtpClient client = new SmtpClient("smtp.live.com");
client.Credentials = new System.Net.NetworkCredential("[email protected]", "PASSWORD");
client.Send(message);
我有这个错误:
System.Net.Mail.SmtpException:“发送邮件失败。”
ExtendedSocketException: 连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机没有响应。
一些想法我做错了什么?
尝试这样的事情:
Message message = new Message();
message.From = "[email protected]";
message.To = "[email protected]";
message.Subject = $"New mail from {message.From}";
message.Body = "something";
using (var smtp = new SmtpClient())
{
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
var msg = new MailMessage
{
Body = message.Body,
Subject = message.Subject,
From = new MailAddress(message.From)
};
msg.To.Add(message.To);
smtp.Host = "email.active24.com";
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.Credentials = new NetworkCredential("[email protected]", password);
smtp.SendMailAsync(msg);
}
您只需要提供商提供的主机和端口
使用 SmtpClient 时,如果为 SMTP 服务器名称指定了不正确的值(即:SmtpClient.Host),则会收到以下错误消息:
System.Net.Mail.SmtpException:“发送邮件失败。”
WebException:无法连接到远程服务器
SocketException:连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立 连接失败,因为连接的主机未能响应
SMTP 设置
此外,确保为任何具有 Dispose 方法的对象调用 Dispose。最简单的方法是使用 using 语句(或 using 声明)。
尝试以下操作:
private void SendEmailOutlook(string toAddress, string fromAddress, string subject, string messageText, bool isHtmlMessage, string username, string password)
{
MailAddress from = new MailAddress(fromAddress);
using (SmtpClient client = new SmtpClient("smtp.office365.com", 587) { DeliveryMethod = SmtpDeliveryMethod.Network, EnableSsl = true, UseDefaultCredentials = false })
{
client.Credentials = new System.Net.NetworkCredential(username, password);
MailAddress to = new MailAddress(toAddress);
using (MailMessage message = new MailMessage(from, to) { IsBodyHtml = isHtmlMessage })
{
message.Subject = subject;
message.Body = messageText;
client.Send(message);
}
}
}