組織の個人ユーザーが一般的にメールを使っている限り、流量制限に引っかかること考えにくい。しかし、流量制限に引っかかったケースがあったので、MSの公式ドキュメントなどから、備忘録でまとめみた。
受信について
メールボックスごとに、1時間当たり3600のメッセージ。
これを超えると送信元に「上限を超えたから配信不能な」と返信する、らしい。(試してないからわからないけど)
かといって、ここまで受信できるかというとそうでもない。
メッセージの追跡でステータスが[Pending]のメールを追跡したところ[recipientthread limit exceeded]になっていて、どうも「受信メールボックスが存在するデータベースが過負荷だから、サーバーを守るため配送スロットリングかけてるよ!」ってことらしい。
■とりあえず対応
-
待つ。しばらく(数時間?)すれば順次リトライしてくれて、最終的にはメールボックスに届くので、待てばいい。
-
メールボックスの強制移動。数時間も待てないケースは、メールボックスを移動させれば解消される。経験上、1~2時間ぐらい。PowerShellでExchangeに接続して、以下実行。
New-MoveRequest -identity <ユーザーのメールアドレス>
■根本策
送信元サーバーのIPが固定されているなら、「コネクタ」を作成する。
送信について
メールボックスごとに1日当たり10,000宛先、1分あたり30メッセージ。
これを超えるとメッセージの送信を拒否されるらしい。
個人で使っているのにこの制限に引っかかることはないと思うけど、[正当なバルク メッセージ (たとえば、顧客向けのニュースレター) ]とか[システムアラートの送信]などを送信している場合は、考慮が必要。
■とりあえず対応
とりあえず、待つ。
1時間待てばおくれるようになる。
それか、送信元アドレスを分ける。
■システムから送信している場合
いくつかの推奨構成が記載されているので、以下まとめ。
-
マイクロソフトの推奨構成は「アプリからOffice365にサインインして送信する」。アプリから365にサインインする構成なので、通常の個人アカウントと何ら変わらない扱いができるし、システム構成もシンプル。
-
推奨構成が使えない場合で宛先がテナント内だけなら「アプリから365に直接送信する」。SPFレコードに送信元になるIPを追加する。「メールボックスごとに1日当たり10,000通、1分あたり3,600メッセージ」よりも制限は多いようだけど、じわじわ流量を増やさないとIPスロットリングの制限受けるので、注意。
※コネクタは使えない -
推奨構成が使えない場合で宛先にテナント外を含むなら「SMTPリレー」を使う。コネクタを作成して、SPFに追加する。メールボックスごとに1日当たり10,000宛先、1分あたり30メッセージ」よりも制限値は大きい。外部ドメイン宛にもメール送信できるけど、「バルクメールの送信はできません」と記載がある。
-
正当なバルクメッセージの送信をする場合は、「サードパーティプロバイダを使う」「オンプレミスのSMTPサーバーを使うことを真剣に検討」が良いらしい。
参考にした情報
Exchange Online の制限
https://docs.microsoft.com/ja-jp/office365/servicedescriptions/exchange-online-service-description/exchange-online-limits
New-MoveRequest
https://docs.microsoft.com/en-us/powershell/module/exchange/move-and-migration/New-MoveRequest?view=exchange-ps
Office 365 を使用してメールを送信するように多機能デバイスまたはアプリケーションをセット アップする方法
https://docs.microsoft.com/ja-jp/exchange/mail-flow-best-practices/how-to-set-up-a-multifunction-device-or-application-to-send-email-using-office-3
IPスロットリングについて
https://blogs.technet.microsoft.com/exchangeteamjp/2015/03/23/ip/