代码改变世界

xp_sendmail: 由于邮件错误 0x80004005 而失败

2015-03-30 15:46  潇湘隐者  阅读(2114)  评论(0编辑  收藏  举报

    今天收到一封邮件说我们的一台SQL SERVER 2000服务器发送邮件有问题。我测试中发现了如下错误:

exec xp_sendmail 'Konglb@esquel.com','hello, 123'

xp_sendmail:由于邮件错误0x80004005而失败解决方法

一直对手头的SQL SERVER 2000服务器关注比较少。之前这台服务器也偶尔会出现发送不了邮件的问题,一般都是通过停止SQL邮件客户端会话,然后重启SQL邮件客户端会话来操作,有时候这种方式并不能解决这个问题,只能通过重启SQL Server服务来解决。第一次遇到这种问题,于是我首先去控制面板检查“邮件配置”-> OutLook配置正常。我尝试使用下面脚本停止,启动邮件客户端会话,但是xp_startmail时也会出现这个错误信息。

exec master.dbo.xp_stopmail
 
exec master.dbo.xp_startmail
 

最后发现是Exchange服务器出现了问题。导致了这个错误,系统管理员解决了Exchange服务器问题后,xp_sendmail立马正常了。网上也有资料介绍了一个案例:因为服务器的邮件已满或是被关闭,也会出现这个错误,将发件人(服务器)的邮箱清空就能解决问题。因为xp_sendmail 这些东西都已经过时了,本来没有必要研究学习的必要。但是还是记录一下这个案例,方便以后出现类似问题,能够快速解决。