如何在azure环境中设置电子邮件功能

时间:2013-04-22 10:53:42

标签: azure

您好可以告诉我如何在不使用sendgrid或任何其他第三方的情况下在azure中实现电子邮件功能。我们可以有服务总线连接azure和交换服务器发送电子邮件。是否可能。或者我们是否有交换服务器Web服务访问天蓝色和发送  电子邮件

2 个答案:

答案 0 :(得分:2)

问题不在于 使用第三方,而是关于安全和防火墙的影响 - 特别是对于公司安全领域。交换服务器可以启用传出smtp(即使使用用户名和密码),并且任何应用程序(包括在Azure上运行的应用程序)都可以轻松发送传出SMTP。您将不可避免地遇到的问题是,交换服务器周围的外围安全性将不允许来自公共IP地址的smtp(黑客经常扫描开放端口25,以便他们可以通过毫无疑问的邮件服务器中继垃圾邮件)。

Windows Azure(角色和网站)无法使用固定(传出)IP,因此无法创建防火墙规则。

您的选择是:

  1. 使用公司网络设置VPN,以便Azure实例从私有IP地址发送。
  2. 在Azure VM上运行邮件中继服务。 VM可以在IP地址上具有无限租约,因此不会更改(很多)。在Linux上运行简单而廉价的邮件传输代理服务。
  3. 使用任何'ol smtp服务器。如果你没有发送太多,你可以使用谷歌甚至outlook.com。 Outlook.com允许您配置托管在其他地方的帐户,因此您应该能够将smtp与您的Windows Live ID(Microsoft帐户)一起使用。
  4. 我会避免编写使用服务总线之类的复杂代码和服务。应该使用System.Net.Mail发送到smtp服务器。

答案 1 :(得分:0)

我过去看过的一件事就是让Windows Azure应用程序在队列中放置一条消息,以及可选的一些blob中的大数据(附件,大型正文等)。这样可以将数据存储在Windows Azure存储中。从那里,本地应用程序(例如Windows服务)可以提取队列和blob数据,构造电子邮件消息,并将其发送到内部部署Exchange服务器。

如果您需要云托管的所有内容,那么我认为您应该能够将Windows Azure应用程序连接到Exchange Web服务端点(假设您可以正确保护它并建立Web服务连接)。