急な一斉配信には要注意!スロットリングへの対処方法

急な一斉配信には要注意!スロットリングへの対処方法

テスト環境でのメール送信テストを終え、いざ本番環境から一斉配信したら遅延が発生してしまった!同じ経験をお持ちの方もいるのではないでしょうか。
メールの遅延には、スロットリングが関係しているかもしれません。大切な本番送信で失敗しないよう、今回の記事を参考にしてください。

スロットリングとは

一般的に受信側のメールサーバ(宛先サーバ)では、一定時間内に受信可能な通数に制限が設けられています。この制限の影響を受けてメールが遅延したり、届かなかったりすることをスロットリングと呼びます。この制限はスパム対策の一環で設けられており、大量のスパムメールから受信者を守るための措置です。

スロットリングのしくみ

スロットリングはなぜ発生するのでしょうか?宛先サーバの挙動とそれに対するTwilio SendGridの挙動を見ていきましょう。
多くの宛先サーバは、受信制限に達すると以下のいずれかの挙動を示します。

このときSendGridは、宛先サーバ側で一時的な問題が発生したものとみなしてDeferredイベントを発生させ、最長72時間再送を試みます。再送期間を過ぎても宛先サーバから正常応答が返らない(メールが受け付けられない)場合、再送を諦めBlockイベントを発生させます。

Email Logsでの見え方

Email LogsのFiltersでStatusがDeferredのものに絞り込むと、宛先サーバ側で何らかの一時的エラーが発生しているメールを把握できます。スロットリングが発生している場合、DeferredイベントのResponseは次のようなものになります。

  • 421 ※宛先サーバによってはこの後に詳細なエラーメッセージが入ることもある
  • error dialing remote address: dial tcp x.x.x.x:0->y.y.y.y:25: i/o timeout

Responseが400番台の数字で始まるものは宛先サーバが返した応答内容です。一方、宛先サーバが応答を返さない場合、後者のようなタイムアウトが発生します。

Email Logsの個別メールの配信状況

Event Historyでは個別のメールの配信状況(発生したイベントの履歴)を参照できるため、DeferredイベントのView detailsでもResponseを確認できます。

Event History

Statsでの見え方

Statsは、次のような状態になります。

  • DELIVERED、BOUNCES、BLOCKS、各種DROPS、INVALID EMAILSの値を合計してもREQUESTSの値に届かない

これは、再送が継続しており送信結果が確定していないことを意味します。

Statsでの見え方""

スロットリングが起こりやすい送信パターン

スロットリングの発生に一番大きな影響を与えるのは送信パターンです。送信実績が少ない状態で送信通数が急増していると発生しやすくなります。

一番大きな影響を与えるのは送信パターン

では、どのくらい急激に増やすとスロットリングが発生するのでしょうか?残念ながら、受信制限は宛先サーバによって異なるため、一概には言えません。このため、はじめてメールを送信する場合は特に慎重に進める必要があります。具体的な予防策については次のセクションでご紹介します。

スロットリングを起こさないために

スロットリングを防ぐ最善の方法は、急激な送信通数の増加を避け、徐々に通数を増やしていくことです。SendGridではこのプロセスをIPウォームアップと呼んでいます。多くの場合、適切にIPウォームアップすることで受信制限が緩和されていきます。具体的なIPウォームアップの進め方やスケジュール例などはチュートリアルをご覧ください。

また、IPウォームアップの前に忘れてはいけないのが宛先リストのクリーニングです。いくら慎重にIPウォームアップしても、クリーニングされていない宛先リストを使ってしまうと逆効果になる場合があります。クリーニングの方法についてはこちらをご覧ください。

スロットリングが発生してしまったら

事前に対策していても、受信制限が厳しい宛先ではスロットリングが発生することがあります。通常、スロットリングが発生しただけでは大きな問題にはなりませんが、追加の送信は控え、スロットリング中のメールを宛先サーバが受け入れてくれるまで待つようにしてください。

SendGridの再送が終了したら、通数を減らして送信を再開してください。様子を見ながら通数を徐々に増やしていきましょう。通数を増やしてもスロットリングの傾向が見られない場合はさらに通数を増やしても問題ありません。

なお、SendGridの再送を止めたり、再送のタイミングを指定したりすることはできません。宛先サーバがいつ受信制限を緩和するかはわからないため、再送のタイミングによっては意図しない時間にメールが届くことがあります。配送タイミングが重要視されるメールを送る場合は、特にスロットリングの予防に注力することをお勧めします。

参考記事

最後に、スロットリング関連の参考記事をご紹介します。

アーカイブ

  • クレジットカード
    登録不要

  • インストールは
    一切不要

  • 独自ドメイン
    利用OK

SendGridの充実した機能をまずは
試してみませんか?

無料トライアル