由于“中继访问被拒绝”而被阻止的 Azure Sql 托管实例数据库邮件到外部电子邮件

Posted

技术标签:

【中文标题】由于“中继访问被拒绝”而被阻止的 Azure Sql 托管实例数据库邮件到外部电子邮件【英文标题】:Azure Sql managed instance database mail to external emails blocked due to "Relay Access Denied" 【发布时间】:2021-08-29 10:01:01 【问题描述】:

我们的数据库服务器已从内部部署迁移到 Azure SQL 托管实例,似乎无法将数据库邮件发送到外部电子邮件地址,但它适用于内部(我们的域)电子邮件地址。抛出的具体错误如下:

消息:无法向邮件服务器发送邮件。 (邮箱不可用。 服务器响应为:5.7.64 TenantAttribution;中继访问被拒绝 [PU1APC01FT013.eop-APC01.prod.protection.outlook.com])

我们在为 Azure 中的托管实例启用和配置数据库时遵循了 Microsoft 指南,并使用了以下资源来协助进行故障排除:

https://techcommunity.microsoft.com/t5/azure-sql/sending-emails-in-azure-sql-managed-instance/ba-p/386235 https://techcommunity.microsoft.com/t5/azure-sql/troubleshooting-database-mail-issues-in-azure-sql-managed/ba-p/583018

我们已按照说明正确命名邮件配置文件,并按照说明正确设置邮件帐户,使用基本身份验证通过 SSL/TLS 端口 25 上的有效 Exchange 邮箱用户进行。Azure nsg(防火墙)已配置为允许 TCP 端口25等等等等。

我也查看了 Office365 交换配置,但无法设置连接器,因为我们的 Azure SQL 托管实例没有公共 IP 地址,但我们不应该需要连接器,因为我们在尝试进行身份验证时从 SQL Server 发送邮件。

有没有人成功地让它工作?

【问题讨论】:

【参考方案1】:

在与 SQL 和 Exchange MS 支持团队通电话进行大量研究、反复试验和数小时后,我们设法让这项工作正常进行。本质上,在阅读了这篇文章here 后,我们对 SQL DB 邮件帐户进行了更改以使其正常工作。 我们通过从文章中提到的连接选项 3 转移到连接选项 1 来实现这一点。具体来说,我们在端口 25(而不是端口 587)上使用了 smtp.office365.com,并勾选了与基本身份验证结合使用的安全连接框。

【讨论】:

以上是关于由于“中继访问被拒绝”而被阻止的 Azure Sql 托管实例数据库邮件到外部电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

信箱不可用。服务器响应是:5.4.1 中继访问被拒绝

“socket.io.js”由于 MIME 类型而被阻止

Java 7u51:LiveConnect (JavaScript) 由于安全设置而被阻止

由于 MIME 类型(“text/html”)不匹配(X-Content-Type-Options: nosniff)而被阻止

错误:由于 MIME 类型(“text/html”)不匹配而被阻止(X-Content-Type-Options: nosniff)

发送邮件时中继访问被拒绝,网络外的其他域