我写了一个程序,其中我尝试使用以下命令发送邮件。
EXEC Sp_send_cdontsmail 'from','to','Test','TEST DATA'
执行显示“命令已成功完成。”
但我没有收到任何邮件。请帮助我。
答案 0 :(得分:0)
您需要配置Database Mail,然后使用sp_send_dbmail
发送邮件。这是受支持的过程,是SQL Server的一部分。
PS。我知道在那里有一些代码样本循环,提倡一些类似的东西:
CREATE PROCEDURE [dbo].[sp_send_cdontsmail]
...
EXEC @hr = master..sp_OACreate 'CDONTS.NewMail', @MailID OUT
EXEC @hr = master..sp_OASetProperty @MailID, 'From',@From
EXEC @hr = master..sp_OASetProperty @MailID, 'Body', @Body
...
这是一个可怕的代码。正如人们可以很容易地看到在这段代码中有绝对0(零,nada,zip)错误检查。任何失败都将被报告为“成功”。 COM互操作不会引发T-SQL通知消息,全部在HRESULT中,未经检查。避开这些代码。