首页 > 解决方案 > 由于“中继访问被拒绝”而阻止 Azure Sql 托管实例数据库邮件发送到外部电子邮件

问题描述

我们的数据库服务器已从本地迁移到 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 /疑难解答-数据库-邮件问题-in-azure-sql-managed/ba-p/583018

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

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

有没有人成功地让这个工作?

标签: sp-send-dbmailazure-sql-managed-instance

解决方案


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


推荐阅读