[小ネタ] Exchange Online で一つのメールボックスが持つことができるプロキシアドレスは最大333個までらしい

ただしドキュメントの記載が曖昧なので、「設定されているプロキシアドレス数が 300 近くになったら上限が近いんだな」くらいに認識しておくと良いかも知れません。
2024.06.21

こんにちは、製造ビジネステクノロジー部の若槻です。

Microsoft Exchange Online は、組織内のメール、カレンダー、連絡先を管理するためのサービスで、Microsoft 365 の一サービスとして提供されています。

今回は、この Microsoft Exchange Online で一つのメールボックスが持つことができるプロキシアドレスの上限数を確認する機会があったので、小ネタとして共有します。

環境

  • ライセンス:Microsoft 365 Business Basic

SMTP アドレスを追加しようとしたらエラーが発生。プロキシアドレスの最大数を超えている?

複数のエイリアスを追加する運用をしているメールボックスに SMTP アドレスを追加しようとしました。

しかし追加を保存しようとすると、以下のエラーが発生しました。

エラーメッセージによると「メールボックスが持つことができるプロキシアドレスの最大数は 333 個だが、334 個目を登録しようとした」ためエラーとなったとのことです。

Error executing request. An Azure Active Directory call was made to keep object in sync between Azure Active Directory and Exchange Online. However, it failed. Detailed error message: This request results in the user having 334 proxy addresses. The maximum number of proxy addresses permitted is 333. DualWrite (Graph) RequestId: 850366c4-7988-4e74-be9b-8dddce0dbea1 The issue may be transient and please retry a couple of minutes later. If issue persists, please see exception members for more information.

PowerShell メールボックスが持っているメールアドレスを確認。プロキシアドレスの上限に抵触したらしい。

Exchange Online PowerShell を使用して、メールボックスが持っているメールアドレスを確認してみます。

PowerShell で Exchange Online に接続します。

Connect-ExchangeOnline

メールボックスが持っているメールアドレスをすべて取得してカウントすると、335 個でした。

> $mailbox = Get-Mailbox -Identity $mailboxName # メールボックスを取得
> $mailAddresses = $mailbox.EmailAddresses | ForEach-Object { $_.ToString() } # メールアドレスを取得
> Write-Host "メールアドレス数: $($mailAddresses.Count)" # メールアドレス数を表示
メールアドレス数: 335

次に、SMTP でないメールアドレスを取得してみます。smtp:*から始まらないアドレスです。結果は合計で 2 個でした。

> $nonSmtpAddresses = $mailbox.EmailAddresses | Where-Object { $_ -notlike "smtp:*" } | ForEach-Object { $_.ToString() } # SMTP 以外のメールアドレスを取得
> $nonSmtpAddresses | ForEach-Object {                                                                                  
>>     Write-Output $_
>> }
SIP:XXX@XXXXX.XXX
SPO:SPO_xxxxxxxxxxxxxxxxxxxxxxxxxxxx@SPO_xxxxxxxxxxxxxxxxxxxxxxxxxxxx

ここで SMTP アドレスは Exchange Online、SIP アドレスは Skype for Business Online、SPO アドレスは SharePoint Online で使用されるアドレスです。

SIP アドレスとプライマリ SMTP アドレスは重複しているため、エラーメッセージを字義通りに受け取るのであれば、プライマリ以外の SMTP アドレス 332 個と SPO アドレス 1 個の合計 333 個が上限数となっていると考えられます。

ちなみに SMTP プロキシアドレスを 1 つ削除すると、別の SMTP アドレスを追加することができました。

おわりに

Microsoft Exchange Online で、一つのメールボックスが持つことができる SMTP アドレスの上限数を確認したら 333 個だった、というお話でした。

ちなみに受信者のプロキシアドレスの制限に関してはドキュメントに以下のように記載されています。

受信者のプロキシ アドレスの制限 300

制限は文字数に基づいており、メール アドレスの数はメール アドレスの長さに応じて異なるため、これらの数値は若干異なる場合があります。 経験則として、ProxyAddresses の smtp アドレスの制限は約 300 アドレスであり、オブジェクトとその設定された属性の将来の拡張に備えて空き領域を残す方が安全です。

「メール アドレスの長さに応じて異なる」「約 300 アドレス」とあるように環境によって異なる場合があるようです。よって「設定されているプロキシアドレス数が 300 近くになったら上限が近いんだな」くらいに認識しておくと良いかも知れません。

以上