在 c# windows 应用程序中从雅虎发送邮件时出现身份验证错误
authentication error in sending mail from yahoo in c# windows application
我正在尝试使用 yahoo 的 smtp 从我的软件发送电子邮件,但它显示以下错误
"The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.1 Authentication required".
我知道 google 中安全性较低的应用程序设置,但我不知道 yahoo 中的设置。相同的代码使用 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);
你需要去
- Go to your "Account security" settings.
- Select 允许使用安全性较低的应用登录。
- 要拒绝或关闭应用程序访问权限,请取消选择不需要的应用程序。
来源:Temporarily allow or deny access to apps using older security sign in
只是在此处提供更多信息,因为自发布接受的答案以来情况发生了一些变化。
- 转到帐户安全设置 (https://login.yahoo.com/account/security)
- 滚动到底部并搜索“管理应用密码”标题,如下所示,然后单击它以添加新应用。
- Select 一个应用类型并生成密码。对于 API 个应用,请使用“其他应用”。
- 通过您的 SmtpClient 发送电子邮件时,请使用此密码而不是您的标准邮箱密码。
我正在尝试使用 yahoo 的 smtp 从我的软件发送电子邮件,但它显示以下错误 "The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.1 Authentication required".
我知道 google 中安全性较低的应用程序设置,但我不知道 yahoo 中的设置。相同的代码使用 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);
你需要去
- Go to your "Account security" settings.
- Select 允许使用安全性较低的应用登录。
- 要拒绝或关闭应用程序访问权限,请取消选择不需要的应用程序。
来源:Temporarily allow or deny access to apps using older security sign in
只是在此处提供更多信息,因为自发布接受的答案以来情况发生了一些变化。
- 转到帐户安全设置 (https://login.yahoo.com/account/security)
- 滚动到底部并搜索“管理应用密码”标题,如下所示,然后单击它以添加新应用。
- Select 一个应用类型并生成密码。对于 API 个应用,请使用“其他应用”。
- 通过您的 SmtpClient 发送电子邮件时,请使用此密码而不是您的标准邮箱密码。