无法使用来自 Azure 云服务的 Gmail smtp [英] Cannot use Gmail smtp from Azure Cloud Service

查看:44
本文介绍了无法使用来自 Azure 云服务的 Gmail smtp的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我通过 Gmail 的 smtp 发送电子邮件的代码:

My code for sending email through Gmail's smtp:

SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("my_user_name", "my_password");

MailMessage message =
     new MailMessage(new MailAddress("from...@gmail.com"), new MailAddress("to...@gmail.com"));
message.Body = "body";
message.Subject = "subject";
client.Send(message);

代码在我的本地机器上运行,当我在 Azure 上发布为网站"时.

The code works on my local machine and when I publish at Azure as "Web Site".

但是当我在云服务"中发布时,我得到了这个异常:

BUT when I publish in a "Cloud Service" I get this exception:

 System.Net.Mail.SmtpException: The SMTP server requires a secure connection
 or the client was not authenticated. The server response was:
 5.5.1 Authentication Required. Learn more at

Windows Azure网站"和云服务"有什么不同可以产生这种效果?

Is there anything that differ a Windows Azure "Web site" from a "Cloud Service" that could have this effect?

谢谢!

推荐答案

在 Web.config 中使用以下 SMTP 设置:

Use following SMTP settings in Web.config:

<system.net>
    <mailSettings>
        <smtp deliveryMethod="Network">
            <network defaultCredentials="false" enableSsl="true" host="smtp.gmail.com" port="587" userName="xxxxxxx@gmail.com" password="xxxxxxxxxxx"/>
        </smtp>
    </mailSettings>
</system.net>

我认为您传递了错误的凭据.在您的用户名中使用 @gmail.com 后缀并尝试将 bodyhtml 属性设置为 true...

I think you are passing wrong credentials. Use @gmail.com suffix in your user name and try to set bodyhtml property true also...

希望这对你有用..它对我来说总是正确的..

Hope this will work for you.. It always work correctly to me..

这个SO中查看答案的评论线程.

这篇关于无法使用来自 Azure 云服务的 Gmail smtp的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆