我的位置:首頁 >   > 

    [MSSQL]使用DatabaseMail+Gmail SMTP寄信

    發表時間:

    一般來說寄信可以有很多種方式

    今天要用的是MSSQL 2012中的DatabaseMail來寄信

    要寄信也就少不了SMTP Server的幫助

    如果自己沒有架設也能使用各大家提供的SMTP Server

    舉凡 Gmail Hotmail Yahoo 都有提供

    Hotmail        SMTP server name: smtp.live.com                       Port number:   587
    Gmail           SMTP server name: smtp.gmail.com                    Port number:   587
    Yahoo          SMTP server name: smtp.mail.yahoo.com          Port number :  25
     

    1. 開啟SQL Management Studio並連接到資料庫,選擇管理 > Database Mail > 設定 Database Mail

     

    2. 選擇第一個選項來進行初次設定

     

    3. 設定檔名稱就隨意吧,之後點選下方的加入,帳戶名稱也隨意,電子郵件地址跟回覆郵件地址就填入自己的Gmail信箱,顯示名稱不輸入預設就是郵件地址,伺服器名稱填入smtp.gmail.com,Port編號填入587,下方的使用SSL打勾,驗證填入Gmail的帳密

     

    4. 看這個設定檔是要公開還是私有

     

    5. 一些基礎參數,可以重複次數調高一點

     

    6. 到這邊設定就結束了

     

    7. 測試一下寄信可不可以成功吧

     

    8. 如果沒有收到信的話,可以去看看自己的Gmail信箱,有沒有收到一封Google寄來的警告郵件

    9. 測試成功後就可以使用SQL語法來寄信了

     
    EXEC msdb.dbo.sp_send_dbmail
    @profile_name='mail_config',--設定檔名稱
    @recipients='',--收件者@
    subject='',--標題
    @body='',--郵件內容
    @query='',--SQL查詢式,可以把查詢的資料帶入郵件中
    @file_attachments='',--附加檔案路徑
    @attach_query_result_as_file=0,--查詢的結果是要使用 0:本文顯示 1:附加檔案
    @body_format=TEXT--使用的格式,可以換成HTML
    GO

    Database Mail 功能在免費版本中是不提供的....微軟有時候真的是.....