sexta-feira, 16 de setembro de 2016

SQL Server - verificando o status dos e-mails enviados pelo DatabaseMail

Caso precise saber se uma mensagem foi enviada com sucesso pelo Database e-mail ou se ocorreu erro no envio do e-mail, utilize as queries abaixo.

O campo mailItem_id é o ID exibido na mensagem de Mail Queued, então você consegue saber exatamente o que aconteceu com a mensagem.
Ex.: Mail (Id: 15027) queued


-- Lista de todos os e-mails enviados
SELECT mailitem_id
   , recipients
, subject
, body
, sent_status
, sent_date 
  FROM msdb..sysmail_mailitems 
WHERE sent_date > DATEADD(DAY, -10,GETDATE())
 and subject like '%assunto do e-mail%'

 

-- Lista os e-mails não enviados devido a alguma falha/erro
use msdb
SELECT items.mailitem_id
       ,items.subject  
    ,items.last_mod_date 
,items.sent_date
    ,l.description FROM dbo.sysmail_faileditems as items  
INNER JOIN dbo.sysmail_event_log AS l  
    ON items.mailitem_id = l.mailitem_id  
WHERE items.mailitem_id  =
-- WHERE -- aplique o filtro desejado

 



Nenhum comentário: