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. 監視とトラブルシュート: メールログを定期的に確認し、問題が発生した場合は対処。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ