从Azure发送电子邮件

时间:2013-07-16 00:33:56

标签: email azure

希望有人可以提供帮助。我想从我的Azure帐户发送电子邮件。我的域名配置为与Azure一起使用。

我无法在网上轻易找到如何从Azure帐户发送电子邮件。有一些提到SendGrid,但似乎我的帐户不支持它。

有人可以指导我如何从Azure托管的网站发送电子邮件吗?

6 个答案:

答案 0 :(得分:45)

我知道这是一篇旧帖子,但我刚刚注册了Azure,我每月通过SendGrid免费获得25,000封电子邮件。这些说明非常好,我在几分钟内就开始运行了:

How to Send Email Using SendGrid with Azure

  

Azure客户每月可以解锁25,000封免费电子邮件。

答案 1 :(得分:10)

从第三方发送SMTP不受Azure限制或特定于Azure。使用System.Net.Mail,创建邮件,配置SMTP客户端,发送电子邮件:

// create the message
var msg = new MailMessage();
msg.From = new MailAddress("info@YourWebSiteDomain.com"); 
msg.To.Add(strTo); 
msg.Subject = strSubject; 
msg.IsBodyHtml = true; 
msg.Body = strMessage;

// configure the smtp server
var smtp = new SmtpClient("YourSMTPServer"); 
var = new System.Net.NetworkCredential("YourSMTPServerUserName", "YourSMTPServerPassword");

// send the message
smtp.Send(msg); 

答案 2 :(得分:5)

如果你正在寻找一些ESP替代品,你也应该看看Mailjet for Microsoft Azure!作为全球电子邮件服务和基础架构提供商,它们使您能够通过其API,SMTP中继或UI从一个平台发送,交付和跟踪交易和营销电子邮件,同时考虑到开发人员和电子邮件所有者。

免责声明:我作为开发者布道者在Mailjet工作。

答案 3 :(得分:4)

对于想要使用内置.NET SmtpClient而不是SendGrid客户端库的人(不确定这是否是OP的意图),除非我使用apikey作为我,否则我无法使用它用户名和api密钥本身作为here概述的密码。

<mailSettings>
    <smtp>
        <network host="smtp.sendgrid.net" port="587" userName="apikey" password="<your key goes here>" />
    </smtp>
</mailSettings>

答案 4 :(得分:4)

如果您拥有Office 365帐户,实现此目的的一个好方法是使用Office 365 outlook connector integrated with Azure Logic App

希望这有助于某人!

答案 5 :(得分:1)

我永远不会推荐SendGrid。我接受了他们的免费帐户优惠,但从未发送过一封电子邮件-所有邮件都被屏蔽-我花了几天的时间来解决它。当我询问为什么他们被阻止时,他们告诉我免费帐户共享一个IP地址,如果有任何帐户通过发送垃圾邮件来滥用该IP,那么共享IP地址上的每个人都将被阻止-完全没有用。另外,如果您使用它们-不要将您的电子邮件密钥存储在git公共存储库中,因为任何人都可以从那里读取密钥(使用搜寻器)并使用您的收费帐户发送批量电子邮件。

我一直在Azure网站上可靠使用的免费电子邮件服务是使用我的Gmail(Google邮件)帐户。该帐户可以选择与应用程序一起使用-启用该帐户后,便可以从您的azure网站发送电子邮件。将样本发送代码粘贴为要使用的端口(587)并不明显。

  public static void SendMail(MailMessage Message)
    {
        SmtpClient client = new SmtpClient();
        client.Host = EnvironmentSecret.Instance.SmtpHost; // smtp.googlemail.com
        client.Port = 587;
        client.UseDefaultCredentials = false;
        client.DeliveryMethod = SmtpDeliveryMethod.Network;
        client.EnableSsl = true;
        client.Credentials = new NetworkCredential(
            EnvironmentSecret.Instance.NetworkCredentialUserName,
            EnvironmentSecret.Instance.NetworkCredentialPassword);
        client.Send(Message);
    }