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

SQL Server 整合 Exchange Server:SQL Mail 發送郵件實作

     編輯:關於SqlServer

前言

本文節選自《用 BackOffice 建立 Intranet/Extranet 應用》(鐵道出版社,ISBN 7113039448),說明 SQL Mail 如何透過擴充預存程序 xp_sendmail 發送郵件。

SQL Mail 發送郵件的兩種情境

  1. 警示通知:系統發生警示時,自動寄送郵件給預先定義的操作員。
  2. 應用程式主動發送:透過 xp_sendmail 在預存程序或批次中發送郵件。

xp_sendmail 語法結構

xp_sendmail
    [@recipients =] 'recipients[;...n]'
  [,[@message =] 'message']
  [,[@query =] 'query']
  [,[@attachments =] 'attachments']
  [,[@copy_recipients =] 'cc_recipients[;...n]']
  [,[@blind_copy_recipients =] 'bcc_recipients[;...n]']
  [,[@subject =] 'subject']
  [,[@type =] 'type']
  [,[@attach_results =] 'TRUE|FALSE']
  [,[@no_output =] 'TRUE|FALSE']
  [,[@no_header =] 'TRUE|FALSE']
  [,[@width =] width]
  [,[@separator =] 'separator']
  [,[@echo_error =] 'TRUE|FALSE']
  [,[@set_user =] 'user']
  [,[@dbuse =] 'database']

關鍵參數說明

參數說明
@recipients收件人,多位以分號分隔,必填。
@message郵件內文,最長 7990 位元組。
@querySQL 查詢語句,結果集將附於郵件,最長 8000 位元組。
@attachments附件檔案路徑。
@copy_recipients副本(CC)收件人。
@blind_copy_recipients密件副本(BCC)收件人,郵件中不顯示地址。
@subject郵件主旨,預設 SQL Server Message。
@attach_results是否將查詢結果作為附件寄出,預設 FALSE。
@width查詢結果行寬,預設 80 字元,可調大防止截斷。
@separator結果欄位分隔字元,方便電子表格匯入。
@echo_error是否包含系統錯誤訊息,預設 TRUE。

實作範例

EXEC xp_sendmail
    @recipients = 'admin@example.com',
    @subject = '每日銷售報表',
    @message = '請查收附件。',
    @query = 'SELECT * FROM Sales WHERE SaleDate = CONVERT(date, GETDATE())',
    @attach_results = 'TRUE',
    @width = 200,
    @separator = ',';

此範例將當日銷售資料以 CSV 格式附件寄送給管理員。

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