【发布时间】:2017-02-05 00:28:38
【问题描述】:
我有一个网络应用程序,我想在我的应用程序中发送电子邮件。但我面临这个错误: SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.7.1 需要身份验证。 这是我的代码示例:
public static bool SendMail(string subject, string body, params string[] toMails)
{
try
{
var mailMsg = new MailMessage();
mailMsg.BodyEncoding = Encoding.UTF8;
mailMsg.HeadersEncoding = Encoding.UTF8;
mailMsg.SubjectEncoding = Encoding.UTF8;
mailMsg.Priority = MailPriority.High;
mailMsg.Subject = subject;
mailMsg.Body = body;
mailMsg.IsBodyHtml = true;
mailMsg.From = new MailAddress("mail@yahoo.com","",Encoding.UTF8);
mailMsg.Sender = new MailAddress("mail@mail.com", "", Encoding.UTF8);
foreach (var mail in toMails)
{
mailMsg.To.Add(new MailAddress(mail));
}
SmtpClient smtp = new SmtpClient();
smtp.EnableSsl = true;
smtp.Credentials = new System.Net.NetworkCredential("mail@yahoo.com", "pass", "smtp.mail.yahoo.com");
smtp.Host = "smtp.mail.yahoo.com";
smtp.Port = 587;
smtp.UseDefaultCredentials = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Send(mailMsg);
return true;
}
catch
{
return false;
}
}
【问题讨论】:
-
我也使用过这个端口,但是我收到了这个错误“发送邮件失败。”
标签: asp.net-mvc smtp-auth