2013年10月21日 星期一

[MS SQL]如何透過Database Mail進行郵件發送

Microsoft SQL Server裡提供了Database Mail可以用來設定外部的email,當主機有問題或是有發送Email需求時,就可以透過Database Mail來進行發送,設定方法如下:

開啟SQL Server Management Studio並連到SQL Server上,點開管理選項找到Database Mail,在Database Mail選項上按右鍵開啟選單,選擇設定Database Mail

dbmail1.png

dbmail2.png

dbmail3.png

dbmail4.png

dbmail5.png

dbmail6.png

dbmail7.png

dbmail8.png

dbmail9.png

dbmail10.png

dbmail11.png

如果有收到Email表示Database Mail設定成功囉~~

那要如何在用SQL進行Email發送呢?

直接執行下面的SQL指令
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'mail sender', --這裡輸入Database Mail設定檔的名稱
@recipients = 'test@mail.com', --要發送的Email
@body = 'Email本文內容', --Email的本內容
@body_format = 'HTML', --本文的格式,設定為HTML,在Email的本文內可以使用HTML語法
@subject = 'Email主旨' ; --這裡設定Email 主旨

這樣就可以發送Email了,是不是很簡單呢?
如果要在網頁程式或應用程式中發送Email,可以直接在程式中EXECUTE上面的SQL語法,就可以把Email發送出去了,用Database Mail這種做法發送Email還有一個優點,就是可以查到Email發送的記錄,只要執行下面的SQL就可以查詢到Email的發送記錄

   SELECT * FROM [msdb].[dbo].[sysmail_mailitems]

沒有留言:

張貼留言