メールが届いているか確認する
メールを送信したはずなのに受信トレイに届かないときは、まず何が起きているかを把握しましょう。Activity 機能は、送信したメールの状況を把握するのに便利なツールです。各イベントの詳細はユーザマニュアルを参照してください。
Activityに記録されるイベントタイプ
- Processed: SendGridに対するメール送信リクエストの受付
- Delivered: 宛先サーバによるメール受付
- Bounces: 恒久的な配信エラー(ハードバウンス)
- Deferred: 一時的な配信エラー(ソフトバウンス)
- Blocks: ソフトバウンスしたためSendGrid側で再送を試みたが、一定時間経っても宛先サーバが受け付けなかった
- Drops: 送信リクエストの破棄(バウンスリストや配信停止リストに掲載されていた、など)
- Spam Reports: 受信者からの迷惑メール報告
- Unsubscribes、Group Unsubscribes、Group Resubscribes: 配信停止または配信停止の解除
- Opens: HTMLメールの開封
- Clicks: リンクのクリック
- Parse: Inbound Parse Webhookでのメール受信
Activityの基本的な使い方
ActivityはWebポータルの「Activity」メニューからアクセスできます。発生したイベントが時系列に降順(上が新しく、下が古い)で表示されます。Activityでは次の情報を確認できます。
- TYPE
イベントタイプ(上述) - email
メールの宛先。宛先アドレスまたはドメインなどで表示を絞り込むことができます。 - CATEGORY
メール送信時に指定したカテゴリ。カテゴリは、トランザクションメールの場合はSMTP API(X-SMTPAPI)で指定します。 - TIME
イベントの発生時刻。Account Detailsで設定したアカウントのTIME ZONE設定に依存します。
また、表示対象のイベントを絞り込むこともできます。特定のイベントに着目したい場合などに利用します。
各イベント行右端の「i」アイコンを選択するとイベントの詳細を確認できます。中でも重要なのが「REASON」です。例えば、Bouncesイベントの場合、メールが届かなかった理由を確認できます。
よくあるケース別のActivityの見方
SendGridに送信リクエストが届いていることを確認する
ProcessedイベントはSendGridがメールの送信リクエストを正常に受け付けたことを示します。
メールの送信リクエストを送ったにも関わらずProcessedイベントが発生していない場合、メールの送信リクエストが正常に受け付けられていません。例えば次のような可能性が考えられます。
- タイムアウト、通信エラーなどが発生している
- 認証に失敗している
- リクエスト内容に問題がある
送信リクエストに対する応答内容を確認することで、原因など詳細な情報が確認できます。
メールが宛先サーバに届いていることを確認する
Deliveredイベントは宛先サーバがメールを正常に受け付けた(SMTPの応答コード250)ことを示します。
Deliveredイベントが発生しているのに受信トレイに届かない場合、次の可能性が考えられます。
- 迷惑メールフォルダに振り分けられている
- 受信側の判断によりフィルタリングされたり、破棄されている
- 宛先側の事情により受信トレイに届くのに時間がかかっている
メールが遅延して届く
Deferredイベントが発生してメールが遅延する場合、宛先サーバから一時的なエラー(400番台のエラーコード)が返されていることを示します。このとき、SendGridは時間を置いて再送を繰り返します(最長72時間)。
宛先サーバに起因するエラーが原因で、再送時にその問題が解決していれば、メールは通常通りに受け付けられDeliveredイベントが発生します。繰り返し再送してもメールが受け付けられなかった場合は、Blockイベントが発生します。
宛先サーバに起因するエラー以外にも、「急激に送信通数を増加させた」など、スロットリング(受信側ISPが設ける受信制限による遅延)が原因の場合にDeferredイベントが発生します。スロットリングを防ぐには送信量を減らすなどの対策が必要です。
バウンスする
Bounceイベントは存在しない宛先に送信した場合などに発生します。原因に応じて個別に対処する必要があります。詳しい原因はREASONで確認できます。
メールがDrop(破棄)される
Dropイベントは、SendGrid側で送信できる条件を満たしていないと判断された場合に発生します。メールは送信されず破棄されます。
原因はREASONで確認できます。例えば次のようなケースでDropが発生します。
- 配信停止リストに掲載されている宛先に送信しようとした
- バウンスリストに掲載されている宛先に送信しようとした
- SMTP API(X-SMTPAPI)の内容に問題があった
メールが送信されるまでの時間を確認する
ProcessedとDeliveredの発生時刻の差を見ると、SendGridがメールを配信するまでにかかった時間が分かります。表示対象の宛先アドレスとイベントを絞り込むことで見やすくなります。
同じ宛先にたくさん送信していてProcessedとDeliveredの対応が不明な場合、SMTP-IDが同じことを確認します。SMTP-IDはメール毎にユニークな値が割り当てられています。
Processedの詳細
Deliveredの詳細
制限事項
Activityには次のような制限事項があります。
- 表示されるイベントの保存期間は7日間です。この期間を過ぎたデータは参照できません
- 保存期間内であっても1度に表示できる件数には制限があります
- Activityに表示されるデータのダウンロードはできません
このようなActivity機能の制限を回避する方法については「Event Webhookでイベントを受信する」を参照してください。