5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ServiceNow】メールのステータスが"Ignored"になる

Last updated at Posted at 2025-02-07

はじめに

CSMの開発PJで、開発環境でメール通知のテストを実施していたところ、送信箱(sys_emailテーブル)にあるいくつかのメールのステータスが "Ignored"(無視)となる事象が発生しました。

本稿では、この "Ignored" の謎についてチームで調査した結果を残しておきます。

調査していたインスタンスでは メールの送信設定をOFF(実際のメールが送信されない設定)にしているため、メールが正しく送信されたかの確認は、インスタンス内の送信箱から確認します。

【前提知識 - 各ステータスの意味】
Ready:送信準備完了(=送信され待ち状態)
Error:エラー
Ignored:メール送信が無視される(=送信されない)
Processed:送信完了

事象

1つのレコードに対して、複数の操作を実行します。
例:インシデントへのコメント追加・ソリューション提案の更新

すると、操作が実行されたタイミングでそれぞれのメールが送信箱に生成されていますが、
生成されたほぼすべてのメールのステータスが、 "Ignored" になりました。
また、操作の中で最後に送信されたソリューション提案通知メールのみ、ステータスが "Ready" になっています。
image.png

メールが "Ignored" ステータスとなる仕組み

「SMTP Sender」というOOTBのスケジュールジョブによって、ステータスが "Ignored" になっていることが判明しました。
→「SMTP Sender」は2 分ごとに実行されるようにスケジュールされたジョブで、インスタンス上に保持されているすべての送信準備完了(ステータス=Ready)メールを送信する(ステータス=Processedにする)役割を果たします。
すべての送信準備完了メールがインスタンスから消去されるまで、実行は継続されます。

そこで、優先度の比較によって送信されない判断をされたメールが、ステータスが "Ignored" に更新されます。
※メールの優先度は通知(sysevent_email_action)テーブルのweightの値で定義されます。


メールが実際に送信されるまでの流れはこんな感じ↓

① イベント実行
イベントがトリガーされる(例: コメントが追加される)

② メール生成
weightに関係なく、通知条件が満たされる かつ 有効な受信者が存在する場合、送信箱(sys_emailテーブル)にメールが生成される。
この時点でステータスは "Ready"

③ スケジュールジョブ実行
ステータスが "Ready" かつ メールの'Recipient' と 'Target' がまったく同じである場合、最もweightの値が大きいメールと、weight=0 のメールのみが実際に送信される。
送信されたメールは、ステータスが "Processed" に更新される
残りのメールは、ステータスが "Ignored" に更新される

※同じ通知の場合は、作成日時が新しいほうが送信される
※メールの送信設定がOFFの場合はメールが送信できないため、"Ready"から更新なし


よって、インスタンスのメール送信設定をOFFにしていることにより、
ステータスが "Ready" のメールが滞留するため、複数のメールで③の比較がされて "Ignored" のメールが存在していた、ということでした。


メール送信設定をONにしている場合は、
③で各メールのステータスが順次 "Processed" に更新されるため、"Ready" でメールが滞留することは稀です。
そのため、本事象は発生しないと思われます。

おわりに

前述の通り、メール送信設定がONの環境では、通常このような事象は発生しません。

ですが、弊社と同じように開発・テスト中のメール誤送信防止のため、インスタンスのメール送信設定をOFFにしている方も多いと思いますので、頭の片隅に入れておくと良いかと思います。

参考記事

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?