【发布时间】:2014-10-18 21:47:55
【问题描述】:
如果我的 Gmail 帐户 访问不太安全的应用程序 禁用,那么我的应用程序无法发送电子邮件 通过这个帐户。相反,我得到“SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.5.1 需要身份验证”异常。
HereGoogle 解释说,通过禁用 安全性较低的应用程序的访问权限,只有使用现代安全标准的应用程序才能签署在。
我的代码需要实现哪些现代安全标准,您能否通过示例向我展示如何实现它们(不确定是否重要,但我的 应用程序和 Gmail 帐户 没有使用两步验证)?
这是我目前使用的代码:
public class EmailService : IIdentityMessageService
{
public Task SendAsync(IdentityMessage message)
{
var credentialUserName = "myAccount@gmail.com";
var sentFrom = "myAccount@gmail.com";
var pwd = "myPwd";
System.Net.Mail.SmtpClient client =
new System.Net.Mail.SmtpClient("smtp.gmail.com");
client.Port = 587;
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
System.Net.NetworkCredential credentials =
new System.Net.NetworkCredential(credentialUserName, pwd);
client.EnableSsl = true;
client.Credentials = credentials;
var mail =
new System.Net.Mail.MailMessage(sentFrom, message.Destination);
mail.Subject = message.Subject;
mail.Body = message.Body;
return client.SendMailAsync(mail);
}
}
【问题讨论】:
-
他们切换到 OAuth 2.0。其他任何东西对他们来说都“不太安全”。
-
另外,如果您有多个 GMail 帐户,并且您点击链接以从移动设备上的 GMail 应用程序访问安全性较低的应用程序,请确保您正在更新目标帐户的设置。如果您没有收到说明启用了对不太安全的应用程序的访问的电子邮件,请仔细检查设置并确保已将其应用于目标帐户。
-
刚要问这个问题。谢谢。 +1
-
如果有帮助,我有一部旧手机,当我尝试访问 gmail 时,它说密码不正确,然后在我的电脑上,我收到一封来自 Google 的电子邮件,上面写着“从我们的设备访问不认为安全已停止”..
标签: authentication gmail smtpclient asp.net-identity-2