2026年7月18日
2026年7月18日
Postfixのメールルーティングを設定する方法
はじめに
Postfixは、自由でパワフルなメールシステムであり、多くのウェブホスティングサービスや企業が利用しています。メールルーティングの設定は、組織内のメール通信を効率的かつ安全に行うために重要です。この記事では、Postfixの基本操作から具体的な設定手順まで解説します。
症状・背景
Postfixのメールルーティングを設定する必要がある主な場面は以下の通りです:
- 企業内でのメール中継: 会社が外部からのメール受信と内部でのメール配信を行う場合
- ドメイン間でのメール転送: 外部ドメインから内部ドメインへ、または逆の方向へのメール転送が必要な場合
- DNS設定の更新: 新しいDNSサーバーを使用する必要がある場合
手順・設定方法
ステップ1: Postfix基本操作
# Postfixがインストールされていることを確認
dpkg -l | grep postfix
# Postfixサービスを開始、再起動、停止、状態を確認
sudo systemctl start postfix
sudo systemctl restart postfix
sudo systemctl stop postfix
sudo systemctl status postfix
# Postfixをシステムデーモンとして自動起動に設定
sudo systemctl enable postfix
ステップ2: 主要オプション/設定
# Postfixの基本設定ファイルを開く
sudo nano /etc/postfix/main.cf
# メールルーティングに関する主要なパラメータを追加または変更
# 例:外部メールサーバに転送するための情報
relayhost = [mail.example.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_use_tls = yes
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
# SASL認証情報の追加
echo "[mail.example.com]:587 username:password" | sudo tee /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd
# Postfix再起動
sudo systemctl restart postfix
ステップ3: 应用/組み合わせ
# DNS設定を更新し、Postfixに反映させるためにDNSレコードの変更を適用
# 例:MXレコードの追加または修正
echo "example.com. 86400 IN MX 10 mail.example.com." | sudo tee /etc/bind/named.conf.local
# BIND DNSサーバーの再起動
sudo systemctl restart bind9
# Postfixのメールルーティング設定を適用
sudo postmap /etc/postfix/main.cf
sudo systemctl restart postfix
ステップ4: 実践/トラブルシュート/監視
# メールの送信と受信テストを行う
echo "test message" | mail -s "Test Subject" user@example.com
# Postfixログファイルを確認する
sudo tail -f /var/log/mail.log
# 通信エラーのトラブルシュート
postconf -n | grep relayhost
注意事項
- セキュリティ上の注意: SASL認証情報は安全な場所に保管し、漏洩を防ぐこと。
- パフォーマンス/運用上の注意: 大量のメール転送が必要な場合は、Postfixのパラメータを最適化すること。
まとめ
1. SMTPサーバとの連携: relayhostやsmtp_sasl_auth_enableなどの設定により外部SMTPサーバーと連携。
2. SASL認証情報管理: sasl_passwdファイルを作成し、Postfixに正しく伝達する。
3. DNSレコードの更新: MXレコードを適切に設定し、DNSサーバで反映させる。
4. 監視とトラブルシュート: メールログを定期的に確認し、問題が発生した場合は対処。
関連記事: