メール システム切り替えは、もうやりたくない !! キュー滞留・配信停止・バウンスメールの嵐

## **はじめに**

メール システムの切り替えは大きなチャレンジです。特に、大規模な送受信が見込まれる環境や、新旧のシステムを併用する期間がある場合、「やってしまった!!」や「ヒヤリハット💦」が発生しやすくなります。

本記事では、メール システム切り替え時に直面した以下の失敗例を取り上げます：

1. 送信制限の超過
2. ルーティング ミスによるメール ループ
3. 外部アーカイブ設定でのバウンス メール問題

LINE WORKS はビジネス チャットを中心としたコミュニケーション/コラボレーションツールですが、上位のプランではメール機能も利用できます。

メール システムを切り替えようとした際、「やっちまった!!」が発生した事例を紹介しますね。それらの失敗例の背景と原因を分析し、関連する技術情報やノウハウ、解決のヒントを共有します。

これらの内容は、LINE WORKS 以外のメール システムにも応用可能な一般的な知識やベスト プラクティスを含んでいます。参考にしてみてください。

### **注意事項**
本記事に記載されているトラブル事例は、これまでに得た知識や一般的なメール システム移行時に発生しがちな問題を基にした内容です。実在する特定のユーザーやプロジェクトの詳細を含むものではありません。

## **トラブル事例と対応**

### **1. バルク メールの送信制限に引っかかる**

#### **問題の概要**
LINE WORKS を含むクラウドのメール サービスでは、メールの送信数に時間ごとや日ごとの上限があります。旧環境では顧客向けのキャンペーン メールをオンプレミスの配信サーバーで送信していましたが、クラウド サービス移行後、同じ方法で配信しようとした際に、送信制限に引っかかり、予定通りの配信ができなくなりました。

さらに、制限の影響で通常メールの送信も妨げられ、他の業務に重大な影響を及ぼしました。

#### **関連する基準**
- **RFC 5321 (Simple Mail Transfer Protocol - SMTP)**
  - **大量メール送信の制御**
    - [RFC 5321, Section 4.5.3.1.6](https://datatracker.ietf.org/doc/html/rfc5321#section-4.5.3.1.6):
      > ``Recipients limits and connection throttling: Servers MAY impose limits on the number of recipients per message and restrict the number of messages sent per unit of time.``
    - レート制限はスパム対策やサーバーの安定性を確保するために推奨されます。

  - **送信失敗時の再試行間隔**
    - [RFC 5321, Section 4.5.4.1](https://datatracker.ietf.org/doc/html/rfc5321#section-4.5.4.1):
      > ``A client SHOULD delay at least 30 minutes between consecutive delivery attempts to the same destination for transient failures.``
    - 再送間隔を適切に設定することでサーバー負荷を軽減します

#### **解決策**
1. **送信制限の把握**
   - メール サービスの配信上限を確認し、小分けに送信する方法を導入
2. **専用システムの利用**
   - バルク メールは、LINE WORKS ではなく専用のメール配信システムを利用
3. **CPaaS の活用**
   - CPaaS を導入し、柔軟なスケーリングや配信レポートの活用を検討
   [ネクスウエイ社の CPaaS Now](https://smslink.nexway.co.jp/cpaas/lp?utm_source=qiita&utm_medium=referral&utm_campaign=advent-calendar-2024) の導入と活用の検討は有効と考えられます。

#### **教訓**
- メール サービスの配信上限を事前に把握する
- バルク メール配信には通常業務メールと異なる基盤を確保する

---

### **2. ルーティング設定ミスとメール ループ**

#### **問題の概要**
LINE WORKS と旧メール システムを併用している間に、メールの配信設定で重複した設定が存在したことで、無限ループが発生しました。具体的には、**メールボックスの転送設定**と**送信コネクタによるルーティング設定**の両方が有効になっており、双方のシステム間でメールが往復する問題を生じました。

この結果、キューの滞留と、配信不能通知（NDR）が大量に生成され、サーバーの負荷が増大しました。

#### **関連する基準**
- **RFC 5321 (SMTP)**
  - **ループの防止**
    - [RFC 5321, Section 6.2](https://datatracker.ietf.org/doc/html/rfc5321#section-6.2):
      > ``Servers MUST recognize mail loop conditions. When a loop is detected, the message SHOULD be returned to the sender with appropriate error notifications.``

#### **解決策**
1. **メール ドメインの権限の明確化**
   - メール ドメインの権限を明確化し、不要な転送設定を廃止
2. **ルーティング設定の再構築**
   - 送信コネクタ設定を修正し、無限ループを防止

#### **教訓**
- 移行時のメール ルート設定は慎重に検証する
- MX レコードや送信コネクタの設定を可視化して全体を把握する

### **参考情報**
以前に LINE WORKS と Office 365 のメール併用の設定について記事を書きました。併せて参考にしてください。
- [LINE WORKS と Office 365 のメールを併用する](https://qiita.com/iwaohig/items/61153ff6e1dd3a3be179)
  - MXレコードや送信コネクタ設定の具体例を説明した記事です。
  - LINE WORKSとOffice 365間のルーティング設計に役立つ内容を含んでいます。

---

### **3. 外部アーカイブ設定でバウンス メール地獄**

#### **問題の概要**
すべての送受信メールを外部アーカイブ サービスに保存する設定を追加しましたが、アーカイブ サービスの容量不足でエラーが発生。大量のバウンス メールが LINE WORKS に返送され、通常のメール配送にも支障をきたしました。

#### **関連する基準**
- **RFC 5321 (SMTP)**
  - **受信サーバの容量不足エラーの処理**
    - [RFC 5321, Section 4.2.2](https://datatracker.ietf.org/doc/html/rfc5321#section-4.2.2):
      > ``If the recipient's server runs out of storage space after accepting the message, it MUST notify the sender using a non-delivery report (NDR) that indicates a persistent transient failure (552).``

  - **バウンスループの防止**
    - [RFC 3834, Section 3.1.5](https://datatracker.ietf.org/doc/html/rfc3834#section-3.1.5):
      > ``Auto-Submitted header fields SHOULD be used to identify messages that are automatically generated and to avoid mail loops.``

#### **解決策**
1. **容量拡張とエラー処理**
   - アーカイブサービスの容量を拡張し、エラー発生時の処理を改善
2. **監視の強化**
   - リアルタイム監視を導入し、エラー発生を早期に検知。

#### **教訓**
- 外部サービスの仕様や容量制限を事前に確認する
- バウンス メール発生時に即座に対応できる体制を整える
---
### **まとめ**

メール システムの切り替えは、業務効率の向上や新しい機能の導入を実現するために不可欠なステップです。しかし、そのプロセスには予想外のリスクや課題が潜んでいます。本記事で取り上げた失敗例は、その一部にすぎませんが、適切な準備と技術的な理解によって十分に回避可能です。

#### メール システム切り替えを成功させる鍵

1. **事前準備の徹底**  
   メール サービスの仕様や制限を詳細に把握し、移行プロセス全体をシミュレーションすることが重要です。特に、以下のポイントを抑えることで、トラブルを未然に防ぐことができます：
   - 配信制限やルーティング設定のミスを防ぐため、テスト環境での検証を実施。
   - トラブル発生時の影響範囲を最小化する計画を事前に策定。

2. **技術的な理解の深化**  
   RFC（標準化文書）やベスト プラクティスを参照し、システム間の互換性やメール フローの設計を慎重に検討しましょう。技術的な理解が深まることで、発生しうる問題を正確に予測し、以下のような対策を実行する力が養われます：
   - ループ防止や送信制限に基づく設定を設計。
   - 設定ミスを早期に発見。

3. **柔軟な対応力の確保**  
   万が一トラブルが発生した場合に備え、スピーディな対応が可能な体制を整えることも不可欠です。以下の具体策を講じるとよいでしょう：
   - 問題を検出できる監視体制の構築。
   - 必要に応じて外部の専門家やサポートチームを活用。

#### システム移行を成功への足掛かりに
本記事で紹介した解決策は、実際の運用現場での経験に基づいており、LINE WORKS 以外のメールシステムにも適用可能な普遍的な知識です。これらの教訓を活かすことで、システム移行が単なるリスクではなく、業務の改善とシステム利活用実現の機会へと転換されると良いと思います。

メール システム切り替えは確かに大きなチャレンジです。しかし、適切な準備と学びを通じて、大きな成功を得られるはずです。本記事が今後のメール システム移行や運用に役に立つことを願っています。

---
### **関連情報**

#### 該当する RFC
- [RFC 5321: Simple Mail Transfer Protocol (SMTP)](https://datatracker.ietf.org/doc/html/rfc5321)
- [RFC 3834: Recommendations for Automatic Responses to Electronic Mail](https://datatracker.ietf.org/doc/html/rfc3834)

#### Qiita 記事
- [LINE WORKS と Office 365 のメールを併用する](https://qiita.com/iwaohig/items/61153ff6e1dd3a3be179)

#### その他参考情報
- [LINE WORKS 管理者ガイド メールの送受信設定](https://help.worksmobile.com/ja/admin-guides/manage-service/mail/mail-advanced-settings/)