首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

正確配置與使用 SQL Mail 實現資料庫郵件發送

     編輯:關於SqlServer

應用場景

  • 使用者註冊後自動發送隨機密碼信件。
  • 論壇回覆通知郵件。
  • 皆在預存程序中完成,避免前端傳遞參數、依賴第三方元件。

環境準備

  1. SMTP 服務:建議使用獨立郵件伺服器 (如 iMail, hMailServer) 或 IIS SMTP,確保可靠投遞。
  2. Outlook 2000+:用於建立 MAPI 設定檔。安裝後控制台才會出現「郵件」圖示。
  3. 建立 MAPI 設定檔:控制台 → 郵件 → 顯示設定檔 → 新增 (如 SQLMailProfile) → 設定帳號、SMTP/POP3 伺服器。
  4. 測試 Outlook:以該設定檔啟動 Outlook,收發測試信確認無誤。

SQL Server 服務帳號關鍵設定

  • SQL Server / SQL Agent 服務必須使用建立 MAPI 設定檔的同一網域帳號啟動。
  • 企業管理器 → 支援服務 → SQL Mail 屬性 → 選擇 SQLMailProfile → 測試應顯示「成功啟動/結束 MAPI 工作階段」。

發送郵件:xp_sendmail

EXEC master..xp_sendmail
    @recipients = 'user@example.com',
    @subject = '歡迎註冊',
    @message = '您的密碼是:Abc123',
    @attachments = 'C:\Docs\Guide.pdf';  -- 可選附件

常用參數表

參數說明
@recipients收件人 (必填,分號分隔多位)
@copy_recipients副本
@blind_copy_recipients密件副本
@subject主旨
@message純文字內容
@query附加查詢結果 (需 @attach_results='true')
@attachments附件完整路徑 (分號分隔)
@width查詢結果行寬
@separator欄位分隔字元
@echo_error錯誤訊息是否回傳

遷移建議 (SQL Server 2005+)

xp_sendmail / SQL Mail 已淘汰,新版請使用 Database Mail (sp_send_dbmail),架構更穩健、支援 SSL、非同步佇列、多設定檔,且不依賴 MAPI/Outlook。

正確配置服務帳號與 MAPI 設定檔,是 SQL Mail 能否穩定運作的關鍵。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved