ホームページ >データベース >mysql チュートリアル >受信者リスト テーブルを使用して SQL Server から動的電子メールを送信するにはどうすればよいですか?

受信者リスト テーブルを使用して SQL Server から動的電子メールを送信するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-04 22:26:42304ブラウズ

How Can I Send Dynamic Emails from SQL Server Using a Recipient List Table?

動的受信者リストを使用した SQL Server からの電子メールの送信

SQL Server からの電子メールの送信は、コミュニケーションを効率化する強力なツールですが、受信者のアドレスがテーブルに保存されると、さらに複雑になります。 T-SQL でこの課題に取り組む方法は次のとおりです。

ステップ 1: プロファイルとアカウントを構成する

データベース メール ウィザードを使用してデータベース メールのプロファイルとアカウントを構成します。これにより、SMTP 設定と資格情報を指定できるようになります。

ステップ 2: 拡張機能を有効にする

次のコマンドを順番に実行して、高度な機能とデータベース メール XP を有効にします。

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

ステップ 3: テーブルをループして送信する電子メール

テーブルにリストされている受信者に電子メールを送信するには、カーソルまたは WHILE ループを使用して行を反復処理します。

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

このコードは [email_adresses] をループします。テーブルを参照し、電子メール アドレスを取得し、指定されたプロファイルとコンテンツを使用して電子メールを送信します。

以上が受信者リスト テーブルを使用して SQL Server から動的電子メールを送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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