IMAPメールをOutlookなどで運用する際、サブフォルダ小分けをするときは、INBOX(受信箱)下にフォルダを作らず、INBOXと同列レベルにサブフォルダを作るようにする new!

IMAP4で運用しているメールサーバで、IMAP4サービス(epstimap4d)のCPU使用率が100%に張り付き、メールが開けない、Outlookの同期が進まない、というご相談をいただいたことがあります。ログを調べたところ、受信箱(INBOX)の下に、深い階層でたくさんのサブフォルダを作っていたことが、負荷を大きくする要因の一つになっていました。

メールを小分けするサブフォルダは、INBOX(受信箱)の下には作らず、INBOXと同じ階層(同列)に作ってください。

避けたい構成おすすめの構成
受信箱(INBOX)
├ 取引先A
│ ├ 2025年度
│ └ 2026年度
├ 取引先B
└ 社内連絡
送信済みアイテム
受信箱(INBOX)
取引先A
├ 2025年度
└ 2026年度
取引先B
社内連絡
送信済みアイテム

1. INBOXの下にサブフォルダがあると負荷が増える理由
メールクライアントは、未読の確認や同期のときに、INBOXの下にあるフォルダを優先し、毎回すべて調べに行くのが一般的です。実際のログでも、INBOXの下にあるサブフォルダの一つ一つに対して、未読を確認するSTATUSコマンドが送られていました。
※次の例では、読みやすいようにフォルダ名を日本語で表記しています。実際には、メールクライアントで作成した日本語のフォルダ名は、サーバ側でIMAP用にエンコード(UTF-7)された形で保存されているため、ログにもUTF-7のまま記録されます。
STATUS INBOX/取引先A (MESSAGES UNSEEN)
STATUS INBOX/取引先A/2025年度 (MESSAGES UNSEEN)
STATUS INBOX/取引先A/2026年度 (MESSAGES UNSEEN)
STATUS INBOX/取引先B (MESSAGES UNSEEN)
 :
あるアカウントでは、INBOXの下のサブフォルダの未読確認だけで、1回あたり1分以上かかっていました。
一方、INBOXの外にあるフォルダは、同期するかどうかを選べたり、開いたときだけ同期したりするメールクライアントが多くあります。常に同期する対象から外れる分、サーバの負荷が下がります。
実際に、INBOXの下のサブフォルダをINBOXと同じ階層へ移動したところ、IMAPメールの読み込みが改善しました。
2. フォルダ管理の目安
・INBOXの下にサブフォルダを作らず、INBOXと同じ階層で管理する。「送信済みアイテム」を小分けする場合も同様です
・フォルダの階層は1〜2階層までにし、深くしない
・フォルダの総数は、20〜30個以内を目安にする
3. 作成済みのサブフォルダを移動するとき
INBOXの下にあるサブフォルダは、SSHターミナルか標準コンソールからrootアカウントでログインし、mvコマンドで、INBOXフォルダ(inbox)と同じ階層へ移動できます。
移動は、複数のメールクライアントから同時に操作するのではなく、メールサーバマシンで、計画的かつ段階的に行ってください。
4. Outlookを使う場合の補足
Outlookは、同期に時間がかかると、タイムアウトでセッションを切り、つなぎ直したあとに、続きからではなく最初から同期をやり直すことがあります。そのため、フォルダ内のメールが多いと、同期がいつまでも進まないように見えます。
Outlookのアカウント設定にある「サーバのタイムアウト」は、初期値が1分と短いため、最大の10分まで延ばしておくことをお勧めします(Outlook 2019の場合)。
(関連FAQ)
●E-Post関連サービスがCPU負荷100%となっており送受信とも遅い、考えられることは?
●IMAP4用メールボックスフォルダへのメール格納タイミングについて
●IMAP4メールボックスフォルダにサイズ制限を設定したときサブフォルダも対象となるか?
●IMAP4の詳細ログ(receiveimap4)について