bck*_*rld 9 authentication gmail smtpclient asp.net-identity-2
如果我的Gmail帐户已禁用Access安全性较低的应用 ,则我的应用无法通过此帐户发送电子邮件.相反,我得到" SMTP服务器需要安全连接或客户端未经过身份验证.服务器响应是:5.5.1需要身份验证 "异常.
这里谷歌解释说,通过禁止 访问安全性较低的应用程序,只使用应用现代安全标准可以登录.
我的代码需要实现的现代安全标准是什么,您可以通过示例向我展示如何实现它们(不确定是否重要,但我的应用和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);
}
}
Run Code Online (Sandbox Code Playgroud)
考虑到asp.net-identity-2标签应用于此问题,并考虑到 Google 要求使用OAuth 2.0以避免必须使用Access for less secure applications选项,似乎一种选择是使用OWIN 中间件可以通过在www.asp.net上搜索术语Oauth 2.0来找到。
该网站发表了一篇题为“代码!”的文章。带有 Facebook、Twitter、LinkedIn 和 Google OAuth2 登录的 MVC 5 应用程序可能会引起一些兴趣。该文章似乎显示了许多屏幕截图,引导开发人员完成获取资源、创建应用程序以及使用Google服务器进行身份验证的过程。
| 归档时间: |
|
| 查看次数: |
1645 次 |
| 最近记录: |