使用smtp发送的邮件在microsoft windows azure c#asp.net mvc5中部署时无法正常工作

时间:2015-03-24 16:33:17

标签: c# azure asp.net-mvc-5 smtp azure-web-sites

我一直试图在我的Azure网站上收到电子邮件失败。我可以使用GMail SMTP设置在我的localhost上运行它。但是当部署到我的windows azure网站时,即使在我的localhost IIS上,它也无法正常工作。没有邮件被发送或接收!我的代码在web.config中:

<appSettings>
        <add key="webpages:Version" value="3.0.0.0" />
        <add key="webpages:Enabled" value="false" />
        <add key="ClientValidationEnabled" value="true" />
        <add key="UnobtrusiveJavaScriptEnabled" value="true" />
        <add key="Smtp_Server" value="smtp.gmail.com" />
        <add key="Smtp_Port" value="587" />
        <add key="Smtp_UserName" value="*****" />
        <add key="Smtp_Password" value="***" />
        <add key="Smtp_bSSLConnection" value="True" />
        <add key="ActiveSendMail" value="False" />
        <add key="SecurityKey" value="****" />
      </appSettings>

当我搜索时,我发现了一个链接,告诉我&#34; Azure不支持SMTP:http://www.postseek.com/meta/488719217d716a4fc35c7d6f336e263c&#34;我想知道的是正确的吗? 我会使用其他发送邮件服务器吗?

3 个答案:

答案 0 :(得分:1)

可能不支持SMTP。

你可以让我们Mandrill他们有一个api,你可以用来发送通过http工作的电子邮件,所以你不必担心smtp。

答案 1 :(得分:0)

即使我登录了我的Gmail帐户,并且&#34;白名单&#34;我在Azure中托管的C#代码,Gmail一直阻止我的电子邮件。

我选择使用Hotmail SMTP并使用该帐户而不是Gmail SMTP。

ASP.NET 5示例:

public class AuthMessageSender : IEmailSender, ISmsSender <br/>
{ <br/>
    public Task SendEmailAsync(string email, string subject, string message) <br/>
    { <br/>
        var mailMessage = new MailMessage(email, email, subject, message); <br/>
        var builder = new ConfigurationBuilder(); <br/>
        var config = builder.Build(); <br/>
        var client = new SmtpClient("smtp.live.com", 587) <br/>
        { <br/>
            Credentials = new NetworkCredential("jon@doe.com", "password"),
            EnableSsl = true <br/>
        };<br/>
        client.Send(email, "ToAddress@gmail.com", subject, message); <br/>
        return Task.FromResult(0); <br/>
    } <br/>
}

答案 2 :(得分:0)

  1. 转到您的 Gmail 帐户。允许安全性较低的应用访问第三方
  2. 当允许安全性较低的应用时,电子邮件将在本地成功发送,但在部署到实时服务器后不会发送。
  3. 当您第一次尝试从实时服务器发送电子邮件时 从实时服务器发送电子邮件再次转到您的 Gmail 帐户并检查活动和 验证其尝试是可识别的。
  4. 验证您的尝试后,smtp 服务器将从您的邮箱成功发送电子邮件 实时服务器。