是否可以使用 SQL 数据库邮件通过其 URL 将 HTML 页作为消息发送,与使用 CDO 的方式相同.VBScrip



我正在做一个项目,该项目使用SQL触发器在某些字段更新时触发电子邮件,并且电子邮件需要采用HTML格式和复杂的设计,使用@body_format = 'HTML'命令很难做到这一点。就目前而言,我找到的唯一文章是关于在SQL代码中使用HTML格式化消息正文的文章,但是我希望引用URL并将相应的页面作为HTML正文发送。

我知道 VBScript 中有一种方法可以生成一个 HTML 页面,并通过使用 .CDO上的CreateHTMLBody 命令。消息对象,这就是我在SQL中寻找的功能。

我正在使用Microsoft SQL Server Management Studio。

简答题 否....长答案是的:)

方法。

1)如果您在网络上构建页面,则只需将html存储在表中并查找即可。 如果它需要一直更改,则以模板方式构建html,您将在某些位置(@@FIRSTNAME@@)放置一些疯狂的文本,您将REPLACE动态内容,突然之间,您就可以开始了,并且对html的处理没有太多困难。

2) 使用 VB 代码构建 CLR。这更复杂,但从好的方面来说,您也可以通过 SMTP 网关直接从这里发送邮件,我遇到了数据库邮件重试并向公共用户发送太多邮件的问题,所以我根本不使用它来发送大量电子邮件!

3) 生成 SSIS 包并将 VB 脚本放在脚本任务中以生成电子邮件,创建 SQL 代理作业,然后使用 tSQL 执行该作业。

4) 直接从触发器直接调用 VBScriptxp_CmdShell或其他方法。从安全角度来看,这绝对是最可怕的影响,但如果您锁定访问权限并只允许某些用户,那还不错...... 这是一篇我没有完整阅读的文章,但看起来在这个主题上非常详尽。https://www.simple-talk.com/sql/database-administration/the-posh-dba-solutions-using-powershell-and-sql-server/

使用方法> 1 的额外好处。如果需要,您可以创建一个线程应用程序来非常快速地发送数千条消息! 由于线程 clr,我在一分钟内从我的数据库服务器向 Exchange 服务器发送了 2,000 封邮件......

最新更新