sp_send_dbmail
を使用してキューに入れられた特定の電子メールが最終的にExchangeサーバーから正常に送信されたかどうかを確認する方法を探しています。私はシステムテーブルmsdb.dbo.sysmail_mailitems
とmsdb.dbo.sysmail_log
を見てきました。 msdb.dbo.sysmail_log
は2つのうちのより役に立つと思われます。具体的には、そのdescription
列。私がこれまで行ってきた実験からは、エラーが発生するたびに、次の形式のメッセージがdescription
列に表示されようだ:sp_send_dbmailが成功したかどうかを確認
メールが原因で、メール サーバーの受信者に送信することができませんでした失敗。 (アカウント3(2012-11-01T11:28:04)を使用してメールを送信する 例外メッセージ:メールサーバーにメールを送信できません(メールボックス は利用できませんでした)5.7.1中継できませんでした thisemail @ email .com)。
これは、同じprocess_id
を共有する他の行で囲まれています。囲んでいるレコードの説明が
DatabaseMailプロセスは、電子メールが正常に送信された場合DatabaseMailプロセスは
をシャットダウンして
と
を開始されていますそれらの間に囲まれた行を除いて、同じ2行が表に記録されます。私は成功した送信を持っているのであれば、次の表に
表示され、私は、ログレコードを送信障害を持っている場合は、この
があります送信が失敗した場合、または送信が成功した場合のエントリの記録方法の他のインスタンスたとえば、送信のエントリが4行(開始時および終了時に2件、電子メールが正常に送信されたことを示す2件)のエントリがある可能性があります。上記のパターンから分岐したログレコードは見つかりませんでしたが、この前提に基づいてロジックを書く前に確信したいと思います。
まさに私が探していたものでした。ありがとう –