Jika Anda menggunakan Database Mail di SQL Server, Anda dapat menggunakan sysmail_sentitems
view untuk mengembalikan daftar semua email yang telah dikirim Database Mail.
Contoh
Berikut ini contoh mengembalikan semua email yang terkirim. Perhatikan bahwa ini perlu dilakukan pada msdb
basis data.
SELECT * FROM msdb.dbo.sysmail_sentitems;
Hasil (menggunakan keluaran vertikal):
mailitem_id | 3 profile_id | 1 recipients | [email protected] copy_recipients | NULL blind_copy_recipients | NULL subject | SQL Server Agent Job: FAILED body | Your favorite SQL Server Agent job just failed body_format | TEXT importance | NORMAL sensitivity | NORMAL file_attachments | NULL attachment_encoding | MIME query | NULL execute_query_database | NULL attach_query_result_as_file | 0 query_result_header | 1 query_result_width | 256 query_result_separator | exclude_query_output | 0 append_query_error | 0 send_request_date | 2020-08-24 03:58:57.887 send_request_user | sa sent_account_id | 1 sent_status | sent sent_date | 2020-08-24 03:59:01.000 last_mod_date | 2020-08-24 03:59:01.543 last_mod_user | sa
Saya menggunakan output vertikal di sini sehingga Anda tidak perlu menggulir ke samping untuk melihat semua kolom.
Saya juga hanya menampilkan baris pertama (meskipun dua baris dikembalikan), agar semuanya tetap ringkas.
Ini dia lagi, kecuali kali ini saya akan beralih ke output horizontal dan menampilkan kedua baris. Juga, saya akan menentukan hanya beberapa kolom.
SELECT
mailitem_id,
sent_status,
send_request_date
FROM msdb.dbo.sysmail_allitems;
Hasil (menggunakan keluaran vertikal):
+---------------+---------------+-------------------------+-------------------------+ | mailitem_id | sent_status | send_request_date | sent_date | |---------------+---------------+-------------------------+-------------------------| | 3 | sent | 2020-08-24 03:58:57.887 | 2020-08-24 03:59:01.000 | | 4 | sent | 2020-08-24 04:11:19.300 | 2020-08-24 04:11:22.000 | +---------------+---------------+-------------------------+-------------------------+
Anda dapat menanyakan sysmail_unsentitems
untuk mengembalikan daftar email yang belum terkirim (yang belum dikirim, belum tentu gagal).
Anda juga dapat menanyakan sysmail_faileditems
untuk mendapatkan semua email yang gagal.
Anda juga dapat menanyakan sysmail_allitems
untuk mendapatkan semua email (terkirim, tidak terkirim, gagal, dan mencoba lagi).