System.Net.Mail.SmtpException:SMTP服务器需要安全连接,或者客户端未在Azure上进行身份验证

时间:2013-04-05 12:25:33

标签: .net azure smtp gmail

我在windows azure应用程序上有一个smtp客户端,客户端在模拟器上工作正常但在云实例上抛出异常。

异常消息是:

The SMTP server requires a secure connection or the client was not authenticated The server's response was 5.5.1 authentication required

我确保云端的凭据在命令行中打印正确,我也禁用了防火墙。

P.S:我正在使用gmail smtp服务器。

这是我的代码:

 private void SetupClient()
    {
        _emailSetting = new EmailSetting();
        _smtpClient = new SmtpClient(_emailSetting.SMTP_Server, _emailSetting.Port);
        _smtpClient.EnableSsl = true;
        _smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
        _smtpClient.Credentials = new NetworkCredential(_emailSetting.EmailUser, _emailSetting.EmailPass);
    }


    public void Report(String msg)
    {
        MailMessage mailMessage;

        if (_smtpClient == null)
        {
            SetupClient();
        }

        String receivers = String.Join(",", Receivers);
        mailMessage = new MailMessage(_emailSetting.EmailUser, receivers, "Error", msg);
        _smtpClient.Send(mailMessage);

    }

2 个答案:

答案 0 :(得分:1)

我有类似的问题。解决方案非常“奇怪”,gmail阻止我的电子邮件来自azure,因为你的应用程序试图从“奇怪”的位置登录。尝试检查您是否在gmail中收到有关阻止登录信息的通知/电子邮件。

答案 1 :(得分:0)

解决此问题的一种方法是在您的Azure VM上使用RDP并从那里登录您的Gmail帐户。 Google会要求您确认自己的帐户,因为这是一个“奇怪”的位置。 经过验证,您的电子邮件将正常运行。