制限
上限のあるものすべてを一箇所にまとめました。発見されるのではなく公開するものです。予告なく出会う制限は、ドキュメントの不備です。
概要
1/sec
APIリクエスト数(アドレスごと)
1秒に1回のポーリングが想定されている使い方です。
5日
メッセージの保存期間
到着時から、読んでも読まなくても。上限は厳格です。
5MB
メッセージの最大サイズ
SMTP時点で拒否されるため、送信者に通知されます。
∞
ドメインごとのアドレス数
事前に何も作成されないため、何もカウントされません。
200
1回の呼び出しで返されるメッセージ数
既定値は50です。これは1回のレスポンスの上限であり、メールボックス自体の上限ではありません。
nextを使えば、残りが何件あっても続きをたどれます。0
送信メッセージ
送信用のエンドポイントはありません。意図的な設計です。
レート制限
1アドレスあたり秒間1リクエストです。制限はIP単位ではなくメールボックス単位のため、20個のメールボックスをポーリングする共有CIランナーが自分自身と競合することはありません。
上限を超えるとRetry-Afterヘッダー付きの429が返ります。値は秒単位の整数です。日次クォータも月次クォータもバーストクレジットの管理も存在しません。
もう一つの上限があり、これは隠さずここに明記します。同一送信元アドレスから1分間に1200リクエスト。これは上で挙げた1秒あたり20メールボックスの例とちょうど同じ規模なので、通常の自動化がこれに達することはありません。1台のホストが1秒間に1万件のアドレスを走査できないようにするためのものです。
HTTP/1.1 429 Too Many Requests
Retry-After: 1
Content-Type: application/json
{
"error": "rate_limited",
"message": "one request per second, per address"
}固定時間の待機ではなく、Retry-Afterに従って調整してください。制限が変わっても、このヘッダーを参照するコードなら動作し続けます。
メッセージサイズ
添付ファイルを含めて5 MBまでのメッセージを受け付けます。この上限はSMTPのやり取りの中でメールサーバーが強制するため重要です。送信側サーバーは送ろうとしたその場で通知を受け、利用者に実際のエラーを報告できます。メッセージが黙って消えることはありません。
- 何がカウントされるか
- MIMEエンコード後のヘッダー、本文、すべての添付ファイルを含む、エンコードされたメッセージ全体です。Base64はバイナリを約3分の1膨張させるため、20 MBのファイルは上限に近くなります。
- 通信経路で起きること
- SMTP時点での
552です。メッセージは保存されず、メールボックスにも表示されません。 - メッセージごとの添付ファイル数
- 個別に上限は設定されていません。重要なのは合計値です。
保存期間
メッセージは到着から5日後に削除されます。既読かどうかは関係なく、カウントは初回閲覧時ではなく到着時から始まります。
すべてのメッセージにexpires_atが付与されるため、クライアント側で削除日を計算したりポリシーを追跡したりする必要はありません。
これは設定ではなく厳格な上限です。パラメータでもプランでもアカウントでも延長できません。この期間を超えて残す必要があるものは、取得してご自身の側に保存してください。
アドレスとドメイン
- ドメインごとのアドレス数
- 無制限で、カウントもされません。メールボックスは作成されるものではないため、増えていくリストというもの自体が存在しません。
- ローカルパートのルール
- 1〜64文字で、英字・数字・ピリオド・ハイフン・アンダースコア・プラス記号のみ使用できます。先頭と末尾は英字か数字である必要があります。それ以外はメールサーバーに届く前に、ブラウザ側とサーバー側の両方で拒否されます。
- プラスアドレス
name+tag@domainはここではname@domainのエイリアスではなく、別個のメールボックスとして扱われます。これは意図的な仕様です — タグはサインアップを区別するためのものであり、まとめてしまうと本来分けておくべき受信箱が統合されてしまいます。- 大文字小文字
- すべて小文字に変換されます。
Name@とname@は同じメールボックスです。 - カスタムドメイン
- ここに向けられるドメイン数に制限はありません。それぞれに独自のMXレコードが必要です。
フェアユース
課金して回避できる枠はなく、これらの数値を引き上げるプランもありません。その代わりにあるのは、単一の送信元が他の全員にとってサービスを悪化させれば止められる、という仕組みです。
- 一括ポーリング
- 同一送信元から毎秒数千件のメールボックスをポーリングすると、APIに届く前にエッジで制限されます。
- メールの大量流入
- SMTP接続を過剰に開く送信元ホストは10分間ブロックされます。通常の送信元がこれに近づくことはありません。
- 中継サーバーとして利用する場合
- 禁止ではなく不可能です。メールサーバーはここでホストされているドメイン宛のメッセージしか受け付けないため、どこにも転送できません。
これは通常の自動化を想定したものではありません。1秒ごとにポーリングし、それを1日中、何千ものメールボックスにわたって行う、それが想定された使い方であり、限界ではありません。