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
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