摘要:我的组织已从Exchange迁移到Office 365多年来,SQL数据库邮件一直使用本地SMTP(带有spf记录以阻止邮件被标记为垃圾邮件(在SQL正在使用的电子邮件地址上启用Office 365的那一刻(显然DNS记录也更新了(,邮件在本地SMTP中继上排队;仅针对某些目的地,但让我们假设通过的电子邮件具有有限的反向查找。我已将数据库邮件配置为使用[mydomain].Mail.protection.outlook.com,端口为25和587。我已使用Exchange管理中心创建了一个邮件连接器。我已将本地SMTP(通过IIS6(设置为直接发送(无智能主机(,并使用[mydomain].mail.protection.outlook.com(应通过连接器中继(。无论我做什么邮件都不会离开我的服务器。对微软的支持请求(免费和付费(到达";我会回复你的"指向,然后安静下来。
我以前曾在数据库邮件方面遇到过困难,并找到了一种克服垃圾邮件固有保护的方法。这似乎是Office 365所期望的问题,我无法";勾选正确的方框";。
Office 365不允许匿名SMTP中继。您必须通过身份验证才能发送邮件。显然,这里的问题是需要使用许可证。首选方式是为第三方SMTP中继服务付费。我们使用SendGrid来容纳数据库邮件,因为我们也将其用于电子邮件营销活动。如果你的邮件量很小,比如每天100封或更少的电子邮件,SendGrid是免费的。
谢谢Stephen。我不拒绝这条路;为了这个帖子和其他经历的人的利益,我正在提供最终对我有效的解决方案。
问题:我以前使用本地SMTP作为中继(使用IIS6配置(。当我的电子邮件主机从Exchange Server更改为Office 365时,一些目的地电子邮件(域(收到了邮件,但其他人没有;这似乎与收件人邮件的配置方式有关。
我在SQL 2019 中启用了数据库邮件
sp_configure 'show advanced options', 1;
RECONFIGURE;
sp_configure 'Database Mail XPs', 1;
RECONFIGURE;
sp_configure 'show advanced options', 0;
RECONFIGURE;
我通过执行注册表编辑(如中所述https://windowsreport.com/windows-server-enable-tls/(之后需要重新启动(。我一开始没有注意到这一点,并注意到邮件发送错误中引用了[STARTTLS],但不理解它指的是什么。
在SSMS中,我去了管理部门>数据库邮件->(右键单击(配置数据库邮件->设置数据库邮件,然后按照向导操作。
关键是添加SMTP帐户以使用SMTP.office365.com端口587,并选中[使用SSL]选项。
Microsoft 365管理中心需要进行更改;电子邮件用户需要将SMTP身份验证设置为ON,并将Multi-Factor身份验证设置成OFF
在那之后,它起了作用。