是否可以从SQL Server dbmail生成.eml文件?我运行的是SQL Server 2008 R2。
我需要创建一个"电子邮件沙箱",其中电子邮件将在传递到我们的SMTP服务器进行传递之前暂存。这将允许在最终交付之前查看和批准应用程序生成的(希望是dbmail)电子邮件。我可以通过为SmtpClient
对象指定"pickupDirectoryLocation"属性在 .NET 中实现此目的。
问题:有没有办法也可以使用 SQL Server 生成的电子邮件来做到这一点?
谢谢
好问题!从来没想过。
好吧,当您调用send_dbmail过程时,您实际上并没有发送电子邮件。您只是在队列中插入一条记录,该记录将由发送电子邮件的数据库邮件进程 (DatabaseMail.exe) 读取。
不知道你想要的能不能实现,但我能想到一些事情:
-
您可以将sysmail_configure_sp与参数 AccountRetryDelay 或 DatabaseMailExeMinimumLifeTime(不确定,我自己从未尝试过)一起使用来延迟流程运行的时间,以便经理可以有一些时间来批准电子邮件(或在特定时间启用\禁用作业)。同时,您可以访问保存消息的表并对其进行编辑。但这并不能完全解决您的问题,而且这是一个相当丑陋的解决方案。更多信息在这里
-
创建一个中间表,您可以在其中插入消息,并在批准后调用send_dbmail过程