SQL 服务器未向特定电子邮件地址发送电子邮件

SQL Server not sending emails to specific email addresses

我遇到了一个非常奇怪的错误。

我有一个脚本设置为存储过程,运行 作为 SQL Server 2014 数据库中的一项作业。

脚本会在特定条件下通知用户。

我知道人们会想看脚本,但我可以向您保证它与问题无关。事实上,如果我完全忘记脚本,只是 运行 以下作为新查询,我仍然会遇到同样的问题:

EXEC msdb.dbo.sp_send_dbmail
   @profile_name = 'Our Email Profile',
   @recipients = 'myName@ourCompanysName.com',
   @subject = 'Test',
   @Body = 'test',
   @Body_format='HTML'

这是我的问题:

当我使用任何 @yahoo 电子邮件作为收件人时,电子邮件已成功排队并送达。

当我使用任何 @gmail 电子邮件作为收件人时,电子邮件已成功排队并送达。

当我使用某些内部(即 @OurCompanyName)电子邮件作为收件人时,电子邮件已排队,但从未收到。

当我对数据库邮件队列进行排队时(使用 EXEC sysmail_help_queue_sp @queue_type = 'Mail' 命令),邮件不在队列中。

据我所知,在任何地方都没有抛出异常。日志显示电子邮件已送达。

邮件不在我的垃圾文件夹中。

当我尝试从我的个人电子邮件地址向我的工作地址发送一封测试电子邮件时,它成功了,我的工作电子邮件地址并不是唯一失败的电子邮件地址。

一些公司内部电子邮件地址发送得很好。

我以前可以通过脚本给自己发送电子邮件。它在过去有效。

我已经阅读了我能找到的与此问题相关的所有内容,但其中 none 是相关的。

我怎样才能缩小这个问题的范围?我还能做些什么来寻找有关电子邮件发送失败位置的线索?我在一家大型公司工作,我和我的同事不知道该联系谁,看看这是否是我们内部电子邮件的问题。

这听起来像是我在我们公司的 Exchange 服务器上遇到的类似问题。在某些设置中,您需要获得授权才能发送到特定帐户,而您根本没有进行身份验证,或者您发送的帐户无权发送到该帐户。

我的 Exchange 管理员能够通过删除您必须经过身份验证才能发送到该帐户的限制来为我修复此问题。该帐户设置为能够接收来自未经身份验证的用户的邮件后,我的 SQL 代理邮件已成功发送。

我遇到了同样的问题。将配置文件电子邮件端口更新为 25 并且有效。