请问xp_sendmail
和sp_send_dbmail
proc有什么区别?它们都向指定的收件人发送电子邮件,其中可能包括查询结果集附件......
有什么区别?
请问xp_sendmail
和sp_send_dbmail
proc有什么区别?它们都向指定的收件人发送电子邮件,其中可能包括查询结果集附件......
有什么区别?
xp_sendmail
需要在服务器上安装 MAPI 客户端,例如 Outlook。这是 SQL Server 2000 及更早版本的唯一选项。
sp_send_dbmail
是一个简单的 SMTP 解决方案,为 SQL Server 2005+ 添加
sp_send_dbmail
好得多。
两者之间的另一个区别是,如果事务回滚,则使用 sp_send_dbmail() 发送的电子邮件将回滚(不发送)。使用 xp_sendmail() 发送的电子邮件不会发生这种情况。
因此,如果您希望无论交易的最终结果如何都发送电子邮件,您需要使用 xp_sendmail()。
如果 SP 无法完成处理,我会发送电子邮件通知用户。当然,我在那次事件中回滚了交易。当我切换到 sp_send_dbmail() 时,正在回滚的事务(我想从中获取电子邮件通知的事务)停止发送电子邮件。
我们不控制调用代码 - 它已关闭并在事务中调用 sp。我们需要 SQL Server 中的一项功能来直接发送或刷新邮件队列。