在Azure上部署后,SendMailAsync无法正常工作

时间:2017-08-22 14:17:29

标签: c# azure email asp.net-web-api

我已在Azure上部署了我的网络API,但我无法发送任何电子邮件。 当我在本地尝试时,一切正常,但当我部署它并尝试发送电子邮件时,我收到错误500.

如果我使用SendGrid,它可以工作,但我不想使用它!

而且,我尝试过不同的帐户:GMAIL,OVH电子邮件,它始终是同一个问题 - >它适用于localhost,但不适用于部署后。

要发送电子邮件,我使用以下代码:

var emailClient = new SmtpClient()
                    {
                        Host = "smtp.mywebsiteovh.org",
                        Port = 587,
                        //EnableSsl = true,
                        //UseDefaultCredentials = false,
                        Credentials = new NetworkCredential("myemail@mywebsiteovh.org", "password")
                    };

var msg = new MailMessage
{
    From = new MailAddress("myemail@mywebsiteovh.org"),
    To = { new MailAddress("destination@gmail.com") },
    IsBodyHtml = true,
    Subject = "Subject",
    Body = "Body of email"
};
await emailClient.SendMailAsync(msg);

所以我想知道是否可以在没有SendGrid的情况下从Azure发送电子邮件。 有人可以帮帮我吗? :d

非常感谢!!! 的问候,

1 个答案:

答案 0 :(得分:0)

如果您使用的是GMail,则必须先在浏览器中进行身份验证,然后才能对代码进行身份验证,因为GMail需要先从IP登录才能通过SMTP登录。

由于我们无法从Azure Web App打开浏览器来验证设备,因此我建议您启用以下链接中不太安全的应用程序。

https://myaccount.google.com/security

enter image description here