Azure VM的SQL数据库邮件

时间:2017-03-07 16:40:37

标签: azure smtp azure-virtual-machine sql-server-2016 database-mail

我们正在将系统从专用托管迁移到Azure。此过程的一部分是数据馈送系统,当数据馈送出现问题时,它会通过电子邮件发送客户端和我们的系统管理员。

我们使用SQL数据库邮件和设置在框中的简单IIS 6.0 SMTP服务器。然后在我们的SQL存储过程中,我们调用sp_send_dbmail来发送消息。

我们已尝试在Azure虚拟机上复制此内容,但电子邮件似乎没有通过。 SMTP服务器已安装和设置,与原始专用框完全相同。数据库邮件配置也是一样的。我们的配置文件和帐户具有相同的名称,因此不必更改引用它们的任何迁移代码。我甚至无法收到"发送测试电子邮件......"从SSMS中的“数据库邮件”节点开始工作。

Azure中是否缺少某些东西,我需要打开一个端口或设置端点?我们使用SQL Server 2016运行Windows 2016数据中心VM。

1 个答案:

答案 0 :(得分:0)

事实证明,问题是SQL Server 2016不再需要安装.NET 3.5,但某些底层组件仍然使用它。

看到这篇文章: https://joeydantoni.com/2016/07/27/sql-server-2016-database-mail-not-working/

我无法使用文章中的确切解决方案,但以下是适合我的解决方案。

创建文件:
C:\ Program Files \ Microsoft SQL Server \ MSSQL13.REPLINKDEV \ MSSQL \ Binn \ DatabaseMail.exe.config

将其放入文件中:

<?xml version="1.0"?>
  <configuration>
      <startup useLegacyV2RuntimeActivationPolicy="true">
          <supportedRuntime version="v4.0"/>
          <supportedRuntime version="v2.0.50727"/>
      </startup>
  </configuration>

重新启动SQL Server

如果可以在同一文件夹中打开DatabaseMail.exe,则可以判断它是否正常工作。如果没有,配置文件很可能出现问题。