我正在尝试使用yahoo的smtp从我的软件发送电子邮件,但它显示以下错误 “SMTP服务器需要安全连接或客户端未经过身份验证。服务器响应为:5.7.1需要身份验证”。
我知道google中安全性较低的应用设置,但我不知道雅虎的设置。使用gmail帐户凭据运行相同的代码。这是参考的代码。
string EmailFrom = "test@yahoo.com";
string EmailTo = "test@gmail.com";
string PassWord = "test123";
string EmailHost = "smtp.mail.yahoo.com";
string status = "";
string Body = "";
MailMessage message = new MailMessage();
SmtpClient smtp = new SmtpClient();
message.From = new MailAddress(EmailFrom);
message.To.Add(new MailAddress(EmailTo));
message.Subject = "Auto Backup at test" ;
message.Body = "Backup has been taken at test on" + DateTime.Now;
Body = "Backup has been taken at test on" + DateTime.Now;
smtp.Port = 587;
smtp.Host = EmailHost;
smtp.EnableSsl = true;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential(EmailFrom, PassWord);
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
//ServiceLogLibrary.WriteErrorlog("Step:5");
//Library.WriteErrorlog("Before sending mail");
smtp.Send(message);
答案 0 :(得分:3)
你需要去
来源:Temporarily allow or deny access to apps using older security sign in
答案 1 :(得分:2)
这里只是提供更多信息,因为自从接受答案发布以来,情况有所变化。