Mengirim pesan email menggunakan Database Mail - Layanan Basis Data Relasional Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengirim pesan email menggunakan Database Mail

Anda menggunakan prosedur sp_send_dbmail tersimpan untuk mengirim pesan email menggunakan Database Mail.

Penggunaan

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]';

Parameter berikut diperlukan:

  • @profile_name – Nama profil Database Mail yang akan digunakan untuk mengirim pesan.

  • @recipients – Daftar alamat email tujuan pengiriman pesan yang dipisahkan titik koma.

  • @subject – Subjek pesan.

  • @body – Konten pesan. Anda juga dapat menggunakan variabel yang dinyatakan sebagai isi.

Parameter berikut ini bersifat opsional:

  • @body_format- Parameter ini digunakan dengan variabel yang dideklarasikan untuk mengirim email dalam HTML format.

  • @file_attachments – Daftar lampiran pesan yang disusun dengan titik koma. Path file harus berupa path absolut.

  • @query— SQL Kueri untuk dijalankan. Hasil kueri dapat dilampirkan sebagai file atau disertakan dalam konten pesan.

  • @attach_query_result_as_file – Apakah melampirkan hasil kueri sebagai file. Atur ke 0 untuk tidak, 1 untuk ya. Default-nya adalah 0.

Contoh

Contoh-contoh berikut ini mendemonstrasikan cara mengirim pesan email.

contoh mengirimkan pesan ke satu penerima
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
contoh mengirimkan pesan ke beberapa penerima
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
contoh mengirim hasil SQL kueri sebagai lampiran file
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
contoh mengirim pesan dalam HTML format
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
contoh mengirimkan pesan menggunakan pemicu saat peristiwa tertentu terjadi di basis data
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