Azure中的web.config中忽略了邮件设置

时间:2013-07-09 00:33:27

标签: azure web-config smtp

在Azure托管的MVC应用程序中,我有以下邮件设置

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

当我像这样创建一个新的SMTP客户端时:

SmtpClient client = new SmtpClient();

所有细节都是空的,当客户端尝试发送电子邮件时,我得到一个未指定例外的SMTP主机。这只在升级到MVC4和Azure 2.0(来自Mvc 3和Azure 1.7)时才开始发生。为什么它不使用config中的邮件设置?

1 个答案:

答案 0 :(得分:3)

web.config中的一个更简单的设置适用于我(我正在使用SendGrid电子邮件应用程序,通过Azure门户设置为应用程序):

<mailSettings>
    <smtp from="no-reply@mydomain.com">
        <network host="smtp.sendgrid.net" port="587" userName="myAzureSuppliedId@azure.com" password="password" />
    </smtp>
</mailSettings>

new SmtpClient()电话与原始问题中的电话相同。它既可以在模拟器中使用,也可以在Azure托管网站中使用。

如果问题仅仅是由于gmail托管引起的,您可以试试SendGrid。 Azure用户可以免费使用,并且可以直接从Azure门户本身进行设置。