Postfixでリレー送信を設定する方法
Contents
別サーバーのPostfixでリレー送信を設定する方法
メール送信用のメールサーバーがあり、新規に追加したサーバーはそのメール送信サーバー経由でメール送信するように構築したい。その際のPostfixの設定をまとめました。
- 送信サーバー:mail.example.com (192.168.0.10)
- 新規追加サーバー:192.168.0.15
メール送信用のメールサーバーは、同一ネットワークからメールのリレーを許可する事がおこなっている前提とします
Postfixのインストール
Postfixが未インストールの場合、以下のコマンドでインストールします
$ sudo yum install postfix # CentOS/RHELの場合 $ sudo apt install postfix # Ubuntu/Debianの場合
Postfixの設定ファイル編集
Postfixのメイン設定ファイル(/etc/postfix/main.cf)を編集して、メール送信する際には、メール送信サーバー(192.168.0.10)にリレー送信するようにします
$ sudo vi /etc/postfix/main.cf relayhost = [192.168.0.10]
認証情報の設定
認証情報を /etc/postfix/sasl_passwd に記述します。
$ sudo vi /etc/postfix/sasl_passwd [192.168.0.10] username:password
登録した内容をpostmap コマンドで反映して、適切なパーミッションに変更します
# postmapコマンドで設定を反映 $ sudo postmap /etc/postfix/sasl_passwd # ファイルのパーミッションを変更 $ sudo chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
Postfixに設定を追加します
$ sudo vi /etc/postfix/main.cf smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_security_level = encrypt smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
Postfixの再起動
設定反映のため、Postfixを再起動、及び自動起動をOnにします
# postfix再起動 $ sudo systemctl restart postfix # postfixの自動起動をON $ sudo systemctl enable postfix
mailコマンドで動作確認
mailコマンドでメール送信ができているか確認します
# mailコマンドでテストメールを送信 $ echo "Test mail" | mail -s "Test mail" hoge@example.com
メールが届かない場合の送信サーバー側の確認項目
mailコマンドでメール送信してもメールが送信できない場合は、送信サーバー(mail.example.com)がリレーを許可する設定になっているか確認して下さい。
# 追加した新規サーバー(192.168.0.15)のローカルネットワークが含むように設定する $ sudo vi /etc/postfix/main.cf mynetworks = 192.168.0.0/24, 127.0.0.1 # postfix再起動 $ sudo systemctl start postfix
ディスカッション
コメント一覧
まだ、コメントがありません