概要
送信したメールが何らかの理由で宛先に届かず、エラーメッセージと共に送信元に戻ってきてしまうことを指します。
メールがバウンスすると、なぜ届かなかったのかを示すエラー情報が得られます。この情報を分析することで、メールが届かない原因を特定し、対処することができます。
種類
バウンスは、そのエラー原因によって大きく2種類に分けられます。
ハードバウンス(恒久的なエラー)
恒久的なエラーが原因で発生するバウンスです。
- 主な原因
- メールアドレスが存在しない(
Unknown User) - ドメイン名が存在しない(
Host Unknown) - 受信側サーバーが受信を完全に拒否している
- メールアドレスが存在しない(
ハードバウンスが発生したメールアドレスは、無効なアドレスであるため、配信リストから削除する必要があります。
ソフトバウンス(一時的なエラー)
一時的な問題が原因で発生するバウンスです。時間をおいて再送すれば、メールが届く可能性があります。
-
主な原因
- 相手のメールボックスの容量がいっぱいになっている(
Mailbox Full) - メールのサイズが大きすぎる
- 受信側のサーバーが一時的にダウンしている
- 相手のメールボックスの容量がいっぱいになっている(
バウンス履歴の取得方法
バウンス情報の取得は、以下の2ステップで行います。
- バウンス履歴ジョブAPI:バウンス情報を抽出する「ジョブ(処理)」の実行を依頼します。
- バウンス履歴ジョブ結果API:依頼したジョブの結果(バウンス情報の一覧)を取得します。
はじめに:メール送信方法とバウンス情報の関係
バウンス情報を絞り込んで検索する際に、メールの送信方法によって利用できるパラメータが異なります。
-
配信メール登録APIを利用した場合
メール送信時に設定したbatch_idやcustom_argsのlabel1label2label3を指定して、特定の配信に含まれるバウンス情報だけを抽出することが可能です。 -
SMTPリレー機能を利用した場合
batch_idやlabelが指定できない為、これらのパラメータでバウンス情報を絞り込むことはできません。期間を指定して取得することになります。
ステップ1:バウンス履歴の取得をリクエストする(バウンス履歴ジョブAPI)
まず、バウンス履歴ジョブAPIを使い、バウンス情報を集計するジョブの作成を依頼します。
このAPIを呼び出すと、システムが非同期でデータの集計を開始し、その処理の受付番号として「ジョブID」が返されます。このジョブIDは、次のステップで結果を取得する為に必須です。
主なリクエスト項目
-
start_at:どの時点から過去に遡ってデータを取得するかの日時を指定します。- 例:
2025-10-10 18:00:00
- 例:
-
from/to:取得するデータの行番号を指定します。(最大1000件) -
batch_id/label1など:配信メール登録APIで送信した場合、特定の配信を指定して絞り込みます。
ポイント
このAPIはあくまでデータ抽出の「依頼」です。結果はこの時点では得られません。過去7日分のデータが取得対象となります。
例
リクエスト
curl -X POST https://___ENDPOINT___/v2/bounces -H 'Authorization: ___KEY___' -d '{
"start_at":"2025-10-10 00:00:00", "from":1, "to":1
}'レスポンス
{
"code": 200,
"job_id": 177
}ステップ2:バウンス履歴の結果を取得する(バウンス履歴ジョブ結果API)
次に、バウンス履歴ジョブ結果APIを使い、ステップ1で取得した「ジョブID」を元に集計結果を取得します。
エンドポイントの [ジョブID] の部分を、実際に取得したIDに置き換えてGETリクエストを送信します。
リクエストのエンドポイント
/v2/jobs/[ジョブID]
レスポンスについて
- 処理中の場合
-
statusがrunningで返されます。少し時間をおいてから再度リクエストしてください。
-
- 処理が完了した場合
-
statusがsuccessとなり、data配列の中にバウンス情報の詳細なリストが格納されています。
-
ポイント
ジョブの結果は、ジョブをリクエストしてから24時間取得可能です。定期的にバッチ処理などで取得・保存することを推奨します。data内の各要素には、バウンスした日時(time)、宛先アドレス(envelope_to)、バウンス理由(reason)などが含まれています。
例
リクエスト
curl -X GET https://___ENDPOINT___/v2/jobs/177 -H 'Authorization: ___KEY___'レスポンス
{
"code": 200,
"data": [
{
"batch_id": "xxxxx.test",
"code": "",
"envelope_from": "xxxxx.yyyyy.0000000000@example.com",
"envelope_to": "test@example.com",
"header_from": "zzzzz@examle.com",
"label1": "",
"label2": "",
"label3": "",
"mid": "1111111111",
"reason": "NETWORK_ERROR",
"response": "5.4.0 unrouteable mail domain=example.com",
"status": "5.4.0",
"time": "2025-10-08 11:38:07"
}
],
"max": 1,
"min": 1,
"start_at": "2025-10-10 00:00:00",
"status": "success"
}
即時バウンス(2025年内実装予定)
概要
メール配信の効率化に加え、お客様の送信レピュテーション(信頼性)を保護することを目的とした、メール送信時の内部処理です。
当社技術者が、蓄積した配信データに基づきメール送信が不可能と判断したドメインをリスト化します。このリストに含まれるドメインへのメールは、実際の送信処理を行わず、即時にバウンス(配信失敗)として処理されます。
これにより、不要なメール送信処理を削減して配信効率を向上させると共に、意図せず無効なドメインへ送信してしまうリスクを低減し、お客様の送信レピュテーションを保護します。
対象となるドメインの基準
SMTP接続不可やDNSレコード(MXレコード等)の設定不備などにより、技術的にメール配信が不可能なドメインが対象です。
以下の条件に該当するドメインについて、送信不可のリストに登録することがあります。
| 内容 | 例 |
|---|---|
| Null MXであると確認されたドメイン | example.com 等 |
| RFC 2606に予約済みとして登録されているドメイン | .example , .localhost , .test 等 |
| SMTP接続が出来ないドメイン | Aレコードのみを持ち、メール受信用ポートに接続できないドメイン |
リストの更新について
即時バウンスの対象となるドメインリストは、以下の通り更新されます。
-
追加
- 当社が蓄積した配信データに基づき、当社技術者が精査の上、送信不可リストにドメインを手動で追加します。
-
評価
- 送信不可リストに登録されたドメインは、当社システムが定期的にSMTP接続確認を実施し、配信可能性を自動で評価します。
-
除外
- 評価の結果、配信可能になったと判断されたドメインは、リストから自動的に除外される場合があります。
本処理によるメリット
配信効率の向上
- 不要な送信処理や再送処理をなくすことで、システムリソースを有効活用し、メール配信全体の速度向上に貢献します。
迅速なエラー検知
- 送信処理前にバウンスとなるため、無効なメールアドレスを早期に把握できます。これにより、宛先リストのクリーニングなどを迅速に行うことが可能です。
送信レピュテーションの保護
- 存在しないドメインや、迷惑メール収集を目的とした「スパムトラップ」として機能するドメインへの送信試行を未然に防ぎます。これにより、送信者としての信頼性が損なわれるリスクを低減し、お客様が送信する正当なメールが受信者に届きやすくなります。
即時バウンスと判定された際のレスポンス
以下になります。
5.4.0 unrouteable mail domain=[domain]バウンスの解析結果としては、「NETWORK_ERROR」になります。
即時バウンスの対象ドメインの確認方法
お客様専用のダッシュボードまたはAPIを通じて、現在即時バウンス対象となっているドメインの一覧をご確認いただけます。
ダッシュボードでの確認
- 管理画面のサイドメニュー[環境設定]→[即時バウンスドメイン設定確認]からご確認いただけます。
API経由での確認
- REST API「即時バウンスドメイン一覧取得」をご利用いただくことで、プログラムから取得できます。
注意事項
万が一、対象リストの中に配信を希望されるドメインが含まれていた場合は、お手数ですが弊社サポートまでお問い合わせください。
関連