从SQL Server dbmail创建/生成“.eml”文件

本文关键字:eml 文件 生成 SQL Server dbmail 创建 | 更新日期: 2023-09-27 18:30:48

是否可以从SQL Server dbmail生成.eml文件?我运行的是SQL Server 2008 R2。

我需要创建一个"电子邮件沙箱",其中电子邮件将在传递到我们的SMTP服务器进行传递之前暂存。这将允许在最终交付之前查看和批准应用程序生成的(希望是dbmail)电子邮件。我可以通过为SmtpClient对象指定"pickupDirectoryLocation"属性在 .NET 中实现此目的。

问题:有没有办法也可以使用 SQL Server 生成的电子邮件来做到这一点?

谢谢

从SQL Server dbmail创建/生成“.eml”文件

好问题!从来没想过。

好吧,当您调用send_dbmail过程时,您实际上并没有发送电子邮件。您只是在队列中插入一条记录,该记录将由发送电子邮件的数据库邮件进程 (DatabaseMail.exe) 读取。

不知道你想要的能不能实现,但我能想到一些事情:

  1. 您可以将sysmail_configure_sp与参数 AccountRetryDelay 或 DatabaseMailExeMinimumLifeTime(不确定,我自己从未尝试过)一起使用来延迟流程运行的时间,以便经理可以有一些时间来批准电子邮件(或在特定时间启用''禁用作业)。同时,您可以访问保存消息的表并对其进行编辑。但这并不能完全解决您的问题,而且这是一个相当丑陋的解决方案。更多信息在这里

  2. 创建一个中间表,您可以在其中插入消息,并在批准后调用send_dbmail过程