使用本地SMTP服务器从Azure发送电子邮件

问题描述:

我们无法在Azure VM上托管SMTP服务器。推荐的方法是使用SendGrid等第三方电子邮件服务。使用本地SMTP服务器从Azure发送电子邮件

我们可以使用现有的本地SMTP服务器从Azure云发送电子邮件吗? 在本地服务器上是否需要进行任何特定设置?

根据您的架构,有几个选项。

  1. 为您的内部网络创建VPN,通过VPN路由SMTP流量。
  2. 使用您的SMTP产品的现有Web服务API并将端点公开给Azure服务。 Azure服务然后调用Web服务来发送电子邮件。
  3. 如果您的本地SMTP没有API,则编写一个可从Azure调用或作为中继服务公开的Web服务。

如果您更新您的问题,并回答以下问题,您将获得更具体的选项。

  • Azure中的哪些服务要发送?
  • 您的本地SMTP服务器有哪些技术?

要避免摆弄站点到站点VPN,您可以尝试Azure Relay Hybrid Connections。你必须写一些代码 - 或者更像是字节:) - 但它确实没什么可怕的。

Client (VM in Azure) <---> Azure Relay endpoint <---> Server (SMTP server on-prem) 

OR

作为一个更简单的方法 - 只使用一个Storage Queue,写一个简单的消费(也许.NET或无头的Node.js应用程序)来处理的预置型的消息。

Competing Consumers Pattern

+0

我可能没有自由安装消费类应用程序。我发现上述两种方法都需要这样做。 –

+0

然后,你几乎必须将你的SMTP端口暴露给互联网,即站点到站点的VPN。我真的没有看到第三种选择。如果你问我,我一定会去发送SendGrid,它有一个非常优雅的API,不需要在隧道周围忙碌。 – evilSnobu