首頁 >資料庫 >mysql教程 >如何使用儲存的位址以程式設計方式從 SQL Server 發送電子郵件?

如何使用儲存的位址以程式設計方式從 SQL Server 發送電子郵件?

DDD
DDD原創
2024-12-28 00:34:10451瀏覽

How to Programmatically Send Emails from SQL Server Using Stored Addresses?

如何利用儲存的電子郵件地址以程式設計方式從SQL Server 傳送電子郵件

從SQL Server 傳送電子郵件對於各種場景來說都是一項有用的自動化任務。本文示範了當電子郵件地址儲存在表中時如何使用 T-SQL 實現此目的。

逐步實作:

步驟1:設定資料庫郵件

  • 使用設定資料庫郵件精靈建立資料庫郵件設定檔和帳戶。此精靈設定發送電子郵件所需的基礎架構。

步驟2:啟用進階資料庫郵件功能

執行下列指令以啟用進階資料庫郵件功能:

sp_CONFIGURE 'show advanced', 1
GO
RECONFIGURE
GO
sp_CONFIGURE 'Database Mail XPs', 1
GO
RECONFIGURE
GO

第 3步驟:使用特定位址發送電子郵件設定檔

使用sp_send_dbmail 預存程序從指定設定檔發送電子郵件:

EXEC sp_send_dbmail @profile_name='yourprofilename',
@recipients='[email protected]',
@subject='Test message',
@body='This is the body of the test message.
Congrates Database Mail Received By you Successfully.'

步驟4:循環表並發送電子郵件

要根據電子郵件地址表向多個收件人發送電子郵件,請按照以下步驟操作步驟:

  1. 聲明電子郵件ID (@email_id)、當前ID (@ id)、最大ID (@max_id) 和SQL 查詢(@query) 的變數。
  2. 從 [email_adresses] 表中取得最小和最大 ID。
  3. 使用 WHILE 迴圈迭代該表ID。
  4. 在循環中檢索電子郵件地址 (@email_id)。
  5. 根據目前電子郵件地址動態建立 sp_send_dbmail 查詢。
  6. 執行查詢以發送電子郵件。
  7. 更新目前 ID (@id) 以用於下一個迭代。

這是循環的程式碼:

DECLARE @email_id NVARCHAR(450), @id BIGINT, @max_id BIGINT, @query NVARCHAR(1000)

SELECT @id=MIN(id), @max_id=MAX(id) FROM [email_adresses]

WHILE @id<=@max_id
BEGIN
    SELECT @email_id=email_id 
    FROM [email_adresses]

    set @query='sp_send_dbmail @profile_name=''yourprofilename'',
                        @recipients='''+@email_id+''',
                        @subject=''Test message'',
                        @body=''This is the body of the test message.
                        Congrates Database Mail Received By you Successfully.'''

    EXEC @query
    SELECT @id=MIN(id) FROM [email_adresses] where id>@id

END

以上是如何使用儲存的位址以程式設計方式從 SQL Server 發送電子郵件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn