1

我有一个使用 sp_send_dbmail 生成 HTML 电子邮件并将其发送给客户的存储过程。我收到了一份打印副本的请求,我没有存档的电子邮件地址,以便他们可以邮寄。我的任务是用电子邮件地址替换我的交换服务器上的邮箱,该邮箱设置为将邮件转发到 MailRoom 中复印机的传真端口。它可以工作,但是非常麻烦,并且由于传真传输而受到各种延迟。

似乎由于我的 SQL 服务器在域上,我应该能够从存储过程将输出直接路由到安装在其上的任何打印机,但我无法找到任何方法将 HTML 从存储过程发送到打印机程序。

4

1 回答 1

1

存储过程非常适合处理数据,但在与数据库外部的系统资源交互时它们非常有限。即使写入文件也可能很尴尬,更不用说打印了。

我认为您应该重新考虑您的设计并开发一个外部脚本或程序来执行此操作,可能作为 Windows 服务实现。该程序可以调用存储过程来获取 HTML,然后根据需要通过电子邮件发送或打印。

进一步的增强是只从存储过程中获取数据,并让程序将其格式化为 HTML 或任何其他格式,可能使用某种模板库和/或 XSLT。如果您需要支持多种输出格式(“重要客户 X 希望输出看起来有点不同”),根据业务规则具有不同的格式(“我们需要添加此免责声明,但仅适用于出口订单”)或提供多种语言的输出。

于 2012-09-21T21:55:45.067 回答