Si usa el Correo electrónico de base de datos en SQL Server, puede usar sysmail_sentitems
ver para devolver una lista de todos los correos electrónicos que ha enviado el Correo electrónico de base de datos.
Ejemplo
Este es un ejemplo de devolución de todos los correos electrónicos enviados. Tenga en cuenta que esto debe hacerse en msdb
base de datos.
SELECT * FROM msdb.dbo.sysmail_sentitems;
Resultado (usando salida vertical):
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
Usé la salida vertical aquí para que no tenga que desplazarse hacia los lados para ver todas las columnas.
También estoy mostrando solo la primera fila (aunque se devolvieron dos filas), para mantener las cosas concisas.
Aquí está de nuevo, excepto que esta vez cambiaré a salida horizontal y mostraré ambas filas. Además, especificaré solo algunas columnas.
SELECT
mailitem_id,
sent_status,
send_request_date
FROM msdb.dbo.sysmail_allitems;
Resultado (usando salida vertical):
+---------------+---------------+-------------------------+-------------------------+ | 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 | +---------------+---------------+-------------------------+-------------------------+
Puede consultar sysmail_unsentitems
para devolver una lista de correos electrónicos no enviados (aquellos que aún no se han enviado, no necesariamente fallidos).
También puede consultar sysmail_faileditems
para recibir todos los correos electrónicos fallidos.
También puede consultar sysmail_allitems
para obtener todos los correos electrónicos (enviados, no enviados, fallidos y reintentando).