使用本地SMTP服务器从Azure发送电子邮件
问题描述:
我们无法在Azure VM上托管SMTP服务器。推荐的方法是使用SendGrid等第三方电子邮件服务。使用本地SMTP服务器从Azure发送电子邮件
我们可以使用现有的本地SMTP服务器从Azure云发送电子邮件吗? 在本地服务器上是否需要进行任何特定设置?
答
根据您的架构,有几个选项。
- 为您的内部网络创建VPN,通过VPN路由SMTP流量。
- 使用您的SMTP产品的现有Web服务API并将端点公开给Azure服务。 Azure服务然后调用Web服务来发送电子邮件。
- 如果您的本地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应用程序)来处理的预置型的消息。
我可能没有自由安装消费类应用程序。我发现上述两种方法都需要这样做。 –
然后,你几乎必须将你的SMTP端口暴露给互联网,即站点到站点的VPN。我真的没有看到第三种选择。如果你问我,我一定会去发送SendGrid,它有一个非常优雅的API,不需要在隧道周围忙碌。 – evilSnobu