Jika Anda mencoba mengirim email dengan SQL Server tetapi tidak terkirim, coba periksa sysmail_faileditems lihat.
Contoh
Berikut ini contoh pemeriksaan email yang gagal. Perhatikan bahwa itu harus dijalankan pada msdb basis data.
SELECT * FROM msdb.dbo.sysmail_faileditems; Hasil (menggunakan keluaran vertikal):
mailitem_id | 1 profile_id | 1 recipients | example@sqldat.com 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 02:40:48.093 send_request_user | sa sent_account_id | NULL sent_status | failed sent_date | 2020-08-24 02:41:53.000 last_mod_date | 2020-08-24 02:41:53.290 last_mod_user | sa
Saya menggunakan output vertikal di sini sehingga Anda tidak perlu menggulir ke samping untuk melihat semua kolom.
Dalam hal ini, saya menunjukkan satu email yang gagal. Sebenarnya saya memiliki dua email yang gagal, tetapi saya memutuskan bahwa lebih ringkas untuk menampilkan hanya satu hasil.
Dalam kasus saya, saya telah menggunakan server email yang salah dalam kode yang mengirim email, dan email gagal. Segera setelah saya memperbarui kode untuk menggunakan server email yang benar, semua email berikutnya berhasil dikirim. Namun, ini tidak mengubah yang telah gagal, dan oleh karena itu, mereka tetap berada di sysmail_faileditems lihat.
Anda dapat menanyakan sysmail_unsentitems untuk mengembalikan daftar email yang belum terkirim (yang belum dikirim, belum tentu gagal).
Anda juga dapat menanyakan sysmail_sentitems untuk mendapatkan semua email terkirim.
Anda juga dapat menanyakan sysmail_allitems untuk mendapatkan semua email (terkirim, tidak terkirim, gagal, dan mencoba lagi).