2013-04-22 63 views
0

您好可以告诉我如何在Azure中实现电子邮件功能,而无需使用sendgrid或任何其他第三方。我们可以有服务总线来连接天蓝色和交换服务器发送emails.is这是可能的吗?或者我们有交换服务器的Web服务是在天蓝色的访问和发送 电子邮件如何在天蓝色的环境中设置电子邮件功能

回答

0

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

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

2

问题不在使用第三方,这是关于安全和防火墙的影响 - 特别是与企业安全霸主。交换服务器可以启用外出smtp(即使使用用户名和密码),并且任何应用程序(包括在Azure上运行的应用程序)都可以轻松发送外发SMTP。你一定会遇到的问题是,交换服务器周围的安全措施将不允许从公共IP地址发送smtp(黑客经常扫描打开的端口25,以便他们可以通过不知情的邮件服务器转发垃圾邮件)。 Windows Azure(角色和网站)不能使用固定(传出)IP,因此无法创建防火墙规则。

的选项有:

  1. 设置你的公司网络的VPN,让您的Azure的实例会从私有IP地址发送。
  2. 在Azure虚拟机上运行邮件中继服务。虚拟机在IP地址上可以有无限的租约,所以不会改变(很多)。在Linux上运行简单而便宜的邮件传输代理服务。
  3. 使用任何'ol smtp服务器。如果你发送的不多,你可以使用谷歌甚至outlook.com。 Outlook.com允许您配置其他地方托管的帐户,因此您应该能够使用Windows Live ID(Microsoft帐户)使用smtp。

我会避免编写使用类似服务总线的复杂代码和服务。 System.Net.Mail应该被用来发送到一个smtp服务器。