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

时间:2012-04-11 11:03:30

标签: c# .net sql-server-2008 eml

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

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

问题:我是否有办法使用SQL Server生成的电子邮件?

由于

1 个答案:

答案 0 :(得分:1)

好的问题!没想到这一点。

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

不知道你想要的是什么,但我能想到一些事情:

  1. 您可以使用带有参数AccountRetryDelay或DatabaseMailExeMinimumLifeTime的sysmail_configure_sp(不确定,从不尝试过自己)来延迟进程运行的时间,以便管理员可以有时间批准电子邮件(或在特定时间启用\禁用作业)。在这段时间内,您可以访问包含消息的表并对其进行编辑。但这并不能完全解决你的问题,而是一个丑陋的解决方案。更多信息here

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