3

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

我需要创建一个“电子邮件沙箱”,电子邮件将在其中暂存,然后再发送到我们的 SMTP 服务器进行发送。这将允许在最终交付之前查看和批准生成的应用程序(希望是 dbmail)、电子邮件。我可以在 .NET 中通过为对象指定一个 '<em>pickupDirectoryLocation' 属性来实现这一点SmtpClient

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

谢谢

4

1 回答 1

1

好问题!从来没想过。

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

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

  1. 您可以使用带有参数 AccountRetryDelay 或 DatabaseMailExeMinimumLifeTime 的 sysmail_configure_sp 来延迟进程运行的时间,以便管理员有时间批准电子邮件(或在某些时间启用/禁用作业)。在此期间,您可以访问保存消息的表格并对其进行编辑。但这并不能完全解决您的问题,而且它是一个相当丑陋的解决方案。更多信息在这里

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

于 2012-04-11T12:36:19.530 回答