Si vous essayez d'envoyer du courrier avec SQL Server mais qu'il n'est pas livré, essayez de vérifier le sysmail_faileditems
vue.
Exemple
Voici un exemple de vérification des e-mails ayant échoué. Notez qu'il doit être exécuté sur le msdb
base de données.
SELECT * FROM msdb.dbo.sysmail_faileditems;
Résultat (en utilisant la sortie verticale) :
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
J'ai utilisé la sortie verticale ici pour que vous n'ayez pas besoin de faire défiler latéralement pour voir toutes les colonnes.
Dans ce cas, je montre un e-mail ayant échoué. J'ai en fait reçu deux e-mails qui ont échoué, mais j'ai décidé qu'il était plus concis de n'afficher qu'un seul résultat.
Dans mon cas, j'avais utilisé le mauvais serveur de messagerie dans le code qui envoie l'e-mail, et les e-mails ont échoué. Dès que j'ai mis à jour le code pour utiliser le bon serveur de messagerie, tous les e-mails suivants ont été envoyés avec succès. Cependant, cela ne change pas ceux qui avaient déjà échoué, et donc, ils restent dans le sysmail_faileditems
vue.
Vous pouvez interroger sysmail_unsentitems
pour renvoyer une liste des e-mails non envoyés (ceux qui n'ont pas encore été envoyés, pas nécessairement échoués).
Vous pouvez également interroger sysmail_sentitems
pour obtenir tous les e-mails envoyés.
Vous pouvez également interroger sysmail_allitems
pour obtenir tous les e-mails (envoyés, non envoyés, échoués et réessayés).