簡體   English   中英

是否可以使用SQL數據庫郵件通過URL通過HTML頁面發送HTML頁面,就像在VBScript中使用CDO.Message對象一樣?

[英]Can I use SQL Database Mail to send an HTML page as a message via its URL, the same way you can with the CDO.Message object in VBScript?

我正在開發一個項目,該項目使用SQL觸發器在更新某些字段時觸發電子郵件,並且電子郵件必須采用具有復雜設計的HTML格式,使用@body_format =' HTML”命令。 就目前而言,我發現的唯一文章是有關在SQL代碼中使用HTML格式化消息正文的,但是我希望引用URL並將相應的頁面作為HTML正文發送。

我知道VBScript中存在一種方法,可以通過使用CDO.Message對象上的.CreateHTMLBody命令來引用HTML的URL來生成HTML頁面並將其作為消息發送,這就是我正在SQL中尋找的功能。

我正在使用Microsoft SQL Server Management Studio。

簡短的回答不是。...簡短的回答是:)

做到的方式。

1)如果您在網絡上構建頁面,則只需將html存儲在表中並進行查找。 如果需要始終更改,請以模板方式構建html ,然后在某些位置( @@FIRSTNAME@@ )放置一些瘋狂的文本,以REPLACE動態內容,突然之間,您就可以開始使用了並沒有太多困難的HTML處理。

2)用您的VB代碼構建CLR。 這比較復雜,但從正面來看,您也可以通過SMTP網關直接從此處發送消息,而我遇到了數據庫郵件重試並向公共用戶發送太多消息的問題,因此我不會將其用於繁重的工作完全用電子郵件發送!

3)構建一個SSIS包,並將您的VB腳本放入腳本任務中以生成電子郵件,創建一個SQL代理作業,然后使用tSQL執行該作業。

4)直接從觸發器中直接調用xp_CmdShell或其他方法來調用VBScript。 從安全角度來看,這絕對是最可怕的影響,但是如果您鎖定訪問權限並僅允許某些用戶訪問,那就還不算太糟……這是我沒有完整閱讀的文章但在這個問題上看起來非常詳盡。 https://www.simple-talk.com/sql/database-administration/the-posh-dba-solutions-using-powershell-and-sql-server/

使用方法>的另一個好處是:1.如果需要,您可以創建一個線程化的應用程序以非常快速地發送數千條消息! 由於線程clr,我在一分鍾內從我的數據庫服務器向Exchange服務器發送了2000條消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM