Pokud používáte databázovou poštu na serveru SQL Server, můžete použít sysmail_sentitems
zobrazení zobrazí seznam všech e-mailů, které Database Mail odeslal.
Příklad
Zde je příklad vrácení všech odeslaných e-mailů. Všimněte si, že to je třeba provést na msdb
databáze.
SELECT * FROM msdb.dbo.sysmail_sentitems;
Výsledek (při použití vertikálního výstupu):
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
Použil jsem zde vertikální výstup, abyste se nemuseli posouvat do stran, abyste viděli všechny sloupce.
Zobrazuji také pouze první řádek (i když byly vráceny dva řádky), aby byly věci stručné.
Tady je to znovu, kromě toho, že tentokrát přepnu na horizontální výstup a zobrazím oba řádky. Také uvedu jen několik sloupců.
SELECT
mailitem_id,
sent_status,
send_request_date
FROM msdb.dbo.sysmail_allitems;
Výsledek (při použití vertikálního výstupu):
+---------------+---------------+-------------------------+-------------------------+ | 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 | +---------------+---------------+-------------------------+-------------------------+
Můžete se dotázat sysmail_unsentitems
vrátit seznam neodeslaných e-mailů (těch, které se teprve mají odeslat, nemusí nutně selhat).
Můžete se také dotazovat sysmail_faileditems
získat všechny neúspěšné e-maily.
Můžete se také dotazovat sysmail_allitems
získat všechny e-maily (odeslané, neodeslané, neúspěšné a opakující se).