Se você usa o Database Mail no SQL Server, pode usar o
sysmail_allitems
view para verificar o status de todos os emails processados pelo Database Mail. Exemplo
Aqui está um exemplo de verificação do status de todas as mensagens de e-mail. Observe que isso precisa ser feito no
msdb
base de dados. SELECT * FROM msdb.dbo.sysmail_allitems;
Resultado (usando saída vertical):
mailitem_id | 1 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 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
Eu usei a saída vertical aqui para que você não precise rolar lateralmente para ver todas as colunas.
Também estou exibindo apenas a primeira linha (mesmo que quatro linhas tenham sido retornadas), para manter as coisas concisas.
Aqui está novamente, exceto que desta vez vou exibir todas as quatro linhas. Desta vez, mudarei para a saída horizontal normal e especificarei apenas algumas colunas.
SELECT
mailitem_id,
sent_status,
send_request_date
FROM msdb.dbo.sysmail_allitems;
Resultado (usando saída vertical):
+---------------+---------------+-------------------------+ | mailitem_id | sent_status | send_request_date | |---------------+---------------+-------------------------| | 1 | failed | 2020-08-24 02:40:48.093 | | 2 | failed | 2020-08-24 02:47:40.833 | | 3 | sent | 2020-08-24 03:58:57.887 | | 4 | sent | 2020-08-24 04:11:19.300 | +---------------+---------------+-------------------------+