只有当帐户启用了“访问安全性较低的应用”时,才能通过Gmail帐户发送电子邮件

时间:2014-08-25 17:18:51

标签: authentication gmail smtpclient asp.net-identity-2

如果我的 Gmail帐户 访问安全性较低的应用 已禁用,那么我的应用无法发送电子邮件< / em>通过此帐户。相反,我得到&#34; SMTP服务器需要安全连接或客户端未经过身份验证。服务器响应为:5.5.1需要身份验证&#34;例外。

Here Google解释说,通过停用 访问安全性较低的应用,只有使用现代安全标准的应用才能登录

我的代码需要实现哪些现代安全标准,你能告诉我如何用一个例子来实现它们(不确定它是否重要,但我的 app 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);
    }
}

2 个答案:

答案 0 :(得分:1)

考虑到 asp.net-identity-2 标记适用于此问题,并考虑到Google需要使用 OAuth 2.0 以避免使用< em>访问安全性较低的应用程序选项,似乎有一个选项是通过在{{3}搜索 Oauth 2.0 一词来使用OWIN middleware。 }。

此网站托管了一个名为代码的www.asp.net! MVC 5应用程序与Facebook,Twitter,LinkedIn和谷歌OAuth2登录可能有一些兴趣。这篇文章似乎展示了许多屏幕截图,让开发人员了解获取资源,创建应用以及使用 Google 服务器进行身份验证的过程。

答案 1 :(得分:0)

我认为“安全性较低” 仅表示您正在向第三方提供凭据,并且他们不使用两步验证

  

关于Google的“安全级别较低”设置

     

请注意,Google的“不太安全”声明不应   被解读为不安全。不太安全的应用是一个标签,描述了   行为问题,而不是技术问题。许多事情可以去   当您将凭据提供给第三方以将其提供给   认证机构:第三方可以保留凭据   在不通知您的情况下存储,他们可能会将您的凭据用于   目的超出了应用程序的规定范围,它们可能会发送   您的凭据通过网络进行而没有加密等。最终,   仅当相关第三方具有恶意时,安全性才会降低   目的,因此您应该始终保持警惕,以了解自己   正在将您的凭据发送到。 COMPanion Corp可存储您的   凭证仅用于利用Google的SMTP电子邮件   服务,并使用最新的安全性对其进行存储。

来源:http://www.goalexandria.com/v7Docs/index.php/Using_Gmail_as_Your_SMTP_Server