ホームページ >データベース >mysql チュートリアル >保存されたアドレスを使用して SQL Server からプログラムで電子メールを送信する方法

保存されたアドレスを使用して SQL Server からプログラムで電子メールを送信する方法

DDD
DDDオリジナル
2024-12-28 00:34:10454ブラウズ

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: 特定のメールアドレスを使用して 1 つのメールを送信するプロファイル

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 と最大 ID を取得します。
  3. WHILE ループを使用してテーブルを反復処理します。 ID。
  4. ループ内で、電子メール アドレス (@email_id) を取得します。
  5. 現在の電子メール アドレスに基づいて sp_send_dbmail クエリを動的に構築します。
  6. 送信するクエリを実行します。
  7. 現在の ID (@id) を次の ID に更新します。 iteration.

ループのコードは次のとおりです:

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。