2014年12月29日 星期一

MSSQL 透過Database Mail發送信件

MSSQL 在【管理】>【Database Mail】提供發信的功能。
image
透過組態精靈設定:
image
image
啟用Database Mail 功能:
image
點選加入設定你要使用的SMTP帳戶。
image
新增DatabaseMail帳戶,請設定容易辨識的名稱,在發信時會用到,目前範例為DBMail
image
image
image
image
image
image
測試是否設定正確:
image
image
使用預存程序發送郵件:
DECLARE @mailitem_id1 varchar(100)
DECLARE @ErrorID INT
DECLARE @RtnCode INT
EXEC @RtnCode =msdb.dbo.sp_send_dbmail
@recipients = 'admin@gmail.com',
@profile_name = 'DBMail',
@subject = 'TestMail From Database',
@body_format='HTML',
@body = '<B>TestMail</B><a>Content</a>',
@mailitem_id=@mailitem_id1 output
--錯誤內容
SET @ErrorID = @@ERROR
IF @RtnCode <> 0 BEGIN
SELECT @ErrorID
END
ELSE
BEGIN
SELECT 'success'
END
view raw DatabaseMail hosted with ❤ by GitHub

但仔細看一下發信的內容使用到了msdb的資料庫權限,所以不是管理者權限的帳號,
必須授權msdb下的DatabaseUserRole。
image

沒有留言:

張貼留言