本段文章節選自鐵道出版社新出的《用BackOffice建立Intranet/Extranet應用》一書(現已在各書店有售。如海澱圖書城、西單圖書大廈等。外地或者需要送貨上門的讀者可以到www.wanbook.com.cn或www.e-bookshop.com.cn上在線購買。本書書號為ISBN7113039448)。本書詳盡地講述了如何使用微軟BackOffice系列產品來組建Intranet/Extranet應用。通過它您將掌握NT的安裝和設置、使用IIS建立Web站點、通過ILS建立網絡會議系統、用Exchange建立企業的郵件和協作系統、用SQL Server建立Web數據庫應用、用Proxy Server建立同Internet安全可靠的連接、用Media Server建立網絡電視台/廣播站、用Chart server建立功能強大的聊天室、用Site Server建立個性化的郵件列表和分析網站的訪問情況、用Commerce Server建立B2B或B2C的電子商務網站。此外本書還對網絡的安全性進行了討論,從而指導您建立一個更為健壯和安全的網絡應用。閱讀本書之後,您將發現實現豐富多彩的網絡應用原來這樣簡單……
絕對原創,歡迎轉載。但請務必保留以上文字。
6.7.2. 通過SQL Mial發送郵件
SQL Mail會在兩種情況之下發送郵件。一種是當系統發生警報時間時,會向預先為警報定義的操作員發送警報信息郵件(我們將在下一節中對此問題做詳細的討論)。另一種是通過擴展存貯過程xp_sendmail來發送郵件。如果我們想要在SQL Server應用中完成發送郵件功能的話,就需要使用此存貯過程。它的語法結構如下:
xp_sendmail {[@recipients =] 'recipIEnts [;...n]'}
[,][@message =] 'message']
[,][@query =] 'query']
[,][@attachments =] attachments]
[,][@copy_recipients =] 'copy_recipIEnts [;...n]'
[,][@blind_copy_recipients =] 'blind_copy_recipIEnts [;...n]'
[,][@subject =] 'subject']
[,[@type =] 'type']
[,][@attach_results =] 'attach_value']
[,][@no_output =] 'output_value']
[,][@no_header =] 'header_value']
[,][@width =] width]
[,][@separator =] 'separator']
[,][@echo_error =] 'echo_value']
[,][@set_user =] 'user']
[,][@dbuse =] 'database']
其中各參數的含義分別如下:
■ recipIEnts:為郵件指定的接收人,可以同時將郵件發給多個用戶。各用戶的郵件地址用分號分割。此參數必須指定,而其他參數都為可選參數。
■ message:郵件中的信息,其最長不得超過7990字節。
■ query:一段SQL語句,其結果集將附在郵件之中。它的長度不得超過8000字節。
■ attachments:用來指定一個文件作為被發送郵件的附件。
■ copy_recipIEnts:用來指定此郵件抄送到哪些用戶。即我們在郵件程序中常見的CC to:功能。
■ blind_copy_recipIEnts:功能同上個參數。不過不同的是,郵件之中將不會包含這些收件人的地址信息。即我們在郵件程序中常見的密送BCC to:功能。
■ subject:郵件的標題。如果不指明,默認為"SQL Server Message"。
■ type:指定郵件的MAPI類型。默認為空值。
■ attach_results:指明是否將SQL語句的執行結果作為一個附件進行發送。其取值為TRUE或FALSE。默認值為FALSE。
■ no_output:指明此發送將不返回信息到SQL 客戶端。其取值為TRUE或FALSE。默認值為FALSE。
■ no_header:指明不將SQL語句執行結果中的字段名包含在郵件之中。其取值為TRUE或FALSE。默認值為FALSE。
■ width:指定SQL語句執行結果的行寬。省缺寬度為80個字符這樣可能會造成一些結果行被從中間截斷的現象。將行寬設大一些可以有效地防止此現象。
■ separator:指定SQL語句的執行結果進行字段分割的字符。這樣會方便一些電子表格應用程序讀取結果集。
■ echo_error:指明是否包含系統錯誤信息。其取值為TRUE或FALSE。默認值為TRUE。