可以发送测试数据库邮件但作业邮件失败

cri*_*vin 6 sql-server-2005 sql-server database-mail

我最近停止接收 sql 代理作业失败通知。经过调查,报告的错误是:

The mail could not be sent to the recipients because of the mail server failure. (Sending Mail using Account 1 (2017-08-16T02:40:14). Exception Message: Could not connect to mail server. (No such host is known).

邮件帐户设置没有改变,我确认它看起来是正确的。此外,我可以使用SSMS 中的“发送测试电子邮件...”功能成功发送和接收电子邮件。那么为什么工作不能发送电子邮件呢?

由于“发送测试电子邮件...”功能将电子邮件排队,因此以这种方式发送它与发送它的作业相比似乎没有权限问题。此外,这表明这不是防火墙问题。所以唯一的区别是一天中的时间......作业在半夜运行......但我想不出任何系统配置会在那时发生变化。

有什么其他想法要检查吗?

SQL*_*ker 3

当您使用发送测试电子邮件时,SSMS 正在使用您的凭据。当 SQL 代理尝试连接到邮件配置文件时,它使用 SQL 代理服务帐户凭据。这将是一个重大的区别,而且它与一天中的时间没有任何关系……只是凭证。您可以通过调度一个包含将失败的任务的作业(即 Select * from Northwind)并让 SQL 代理运行它来测试它,并查看它是否会发送通知。这至少会消除服务帐户权限的可能性......