データベースメールを使用した E メールメッセージの送信 - Amazon Relational Database Service

データベースメールを使用した E メールメッセージの送信

データベースメールを使用して E メールメッセージを送信するには、sp_send_dbmail ストアドプロシージャを使用します。

使用方法

EXEC msdb.dbo.sp_send_dbmail @profile_name = 'profile_name', @recipients = 'recipient1@example.com[; recipient2; ... recipientn]', @subject = 'subject', @body = 'message_body', [@body_format = 'HTML'], [@file_attachments = 'file_path1; file_path2; ... file_pathn'], [@query = 'SQL_query'], [@attach_query_result_as_file = 0|1]';

以下のパラメータは必須です。

  • @profile_name – メッセージの送信元となるデータベースメールプロファイル名

  • @recipients – メッセージの送信先となるセミコロン区切りの E メールアドレスリスト

  • @subject – メッセージの件名

  • @body – メッセージの本文 宣言された変数を本文として使用することもできます。

以下のパラメータはオプションです。

  • @body_format – このパラメータは、HTML 形式で E メールを送信するため、宣言された変数と共に使用します。

  • @file_attachments – セミコロン区切りのメッセージ添付ファイルリスト。ファイルパスは絶対パスである必要があります。

  • @query – 実行する SQL クエリ クエリ結果は、ファイルで添付することも、メッセージの本文に含めることもできます。

  • @attach_query_result_as_file – クエリ結果をファイルでアタッチするかどうか。[いいえ] の場合は 0、[はい] の場合は 1 に設定します。デフォルトは 0 です。

次の例は、E メールメッセージを送信する方法をデモンストレーションします。

例 単一の受信者へのメッセージの送信の
USE msdb GO EXEC msdb.dbo.sp_send_dbmail @profile_name = 'Notifications', @recipients = 'nobody@example.com', @subject = 'Automated DBMail message - 1', @body = 'Database Mail configuration was successful.'; GO
例 複数の受信者へのメッセージの送信の
USE msdb GO EXEC msdb.dbo.sp_send_dbmail @profile_name = 'Notifications', @recipients = 'recipient1@example.com;recipient2@example.com', @subject = 'Automated DBMail message - 2', @body = 'This is a message.'; GO
例 添付ファイルでの SQL クエリ結果の送信の
USE msdb GO EXEC msdb.dbo.sp_send_dbmail @profile_name = 'Notifications', @recipients = 'nobody@example.com', @subject = 'Test SQL query', @body = 'This is a SQL query test.', @query = 'SELECT * FROM abc.dbo.test', @attach_query_result_as_file = 1; GO
例 HTML 形式でのメッセージの送信の
USE msdb GO DECLARE @HTML_Body as NVARCHAR(500) = 'Hi, <h4> Heading </h4> </br> See the report. <b> Regards </b>'; EXEC msdb.dbo.sp_send_dbmail @profile_name = 'Notifications', @recipients = 'nobody@example.com', @subject = 'Test HTML message', @body = @HTML_Body, @body_format = 'HTML'; GO
例 データベースで特定のイベントが発生した時の、トリガーを使用したメッセージの送信の
USE AdventureWorks2017 GO IF OBJECT_ID ('Production.iProductNotification', 'TR') IS NOT NULL DROP TRIGGER Purchasing.iProductNotification GO CREATE TRIGGER iProductNotification ON Production.Product FOR INSERT AS DECLARE @ProductInformation nvarchar(255); SELECT @ProductInformation = 'A new product, ' + Name + ', is now available for $' + CAST(StandardCost AS nvarchar(20)) + '!' FROM INSERTED i; EXEC msdb.dbo.sp_send_dbmail @profile_name = 'Notifications', @recipients = 'nobody@example.com', @subject = 'New product information', @body = @ProductInformation; GO