配信診断ラボ

テストメールが届かない?まず、どの段階で止まっているか確認しましょう

いきなり何度も再送しないでください。まずアドレスを確認し、送信ジョブとサービス提供者の応答を確認してから、受信ポーリングと本文表示を調べます。

項目ごとに診断を始める
確認できている事実を選択してください

今回の障害スナップショットを作成

受信アドレス
送信ジョブ
サービス提供者の応答
受信ページ
入力待ち

まず左側の4項目を完了してください

最初に確認すべき層と、次に集めるべき証拠を示します。送信システムを直接読み取ったかのような判断はしません。

  1. 今回使用した完全な受信アドレスをコピーする。
  2. 送信時刻、メッセージID、応答コードを残す。
  3. 件名、HTML本文、テキスト本文を確認できるか記録する。

5層の証拠チェーン

確認しやすい箇所から外側へ進む

各層で確認可能な証拠を見つけてから次へ進みます。これにより、アドレスの問題をテンプレートの問題と誤認せずに済みます。

01

アドレス層

現在のページからアドレスをもう一度コピーし、@の前後が完全か、使い捨てメールボックスの有効期限内か確認します。アドレスを変更した後は、古いトークンや受信アドレスをテスト対象にしないでください。

証拠:完全なアドレスと有効期限
02

ジョブ層

業務処理が実際にメール送信ジョブを起動したことを確認します。処理待ちキューへの書き込みだけでは不十分です。環境変数、キューコンシューマー、テンプレート選択、受信者パラメーターを確認してください。

証拠:ジョブIDと実行ログ
03

配信層

SMTPまたはメールサービス提供者から返された応答を確認します。受理は次の転送先が受け取ったことを示すだけで、最終的に受信トレイへ届いたことを意味しません。拒否コードがあれば、通常は原因の方向性が分かります。

証拠:メッセージIDと応答コード
04

読み取り層

ポーリング周期を1回待ってから手動で更新します。同じメールボックスの他のメールが表示されるなら、問題はページ接続よりも個別メールまたは上流の配信にある可能性が高いです。

証拠:更新時刻とメール件数
05

本文層

一覧に件名があるのに詳細が空の場合は、html_bodyとtext_bodyを分けて確認します。HTMLテンプレートのエラー、大きすぎる外部リソース、危険なスクリプトがあっても、メールが到達していないとは限りません。

証拠:件名、送信者、本文の元フィールド

クイック診断

症状によって優先順位は異なります

最小再現

複雑な処理を比較可能な1通のメールに絞る

固定の件名、1文のテキスト本文、固有のイベント番号を使い、新しく作成したアドレスへ送信します。最小メールが届いたら、HTML、画像、添付ファイル、業務変数を少しずつ戻します。

記録する項目
1

テスト環境とコミットバージョン

例:staging / commit hash

2

トリガー時刻とメッセージID

UTCで統一するか、タイムゾーンを明記する

3

アドレス、件名、結果

トークンを隠し、チケットに認証コードを貼り付けない

実際の受信テストに戻る

新しいアドレスを作成し、最小再現を実行する

今回の送信証拠を残してから、使い捨てメールボックスで件名、時刻、本文を確認します。

使い捨てメールを開く