Postfix で mailrelay を設定する

インターネットに直接疎通のないサーバからメールを飛ばすのに必要なメールリレーサーバの Postfix での設定メモ 簡単のため送るだけ、bounce メールのことは考えない

[Server]
[Server] --> [Mailrelay Server] --> The Internet
[Server]

Mailrelay Server

  • メール送信元サーバのいるネットワーク: 192.168.10.0/24
  • メール送信元サーバのいるネットワーク側のアドレス: 192.168.10.1

デフォルトでは localhost からのメールしか配送しないようになっているので、プライベートネットワークの情報を追加する。

# cp /etc/postfix/main.cf{,.orig}
# vi /etc/postfix/main.cf
# diff /etc/postfix/main.cf.orig /etc/postfix/main.cf
116c116,117
< inet_interfaces = 127.0.0.1
---
> #inet_interfaces = 127.0.0.1
> inet_interfaces = 127.0.0.1, 192.168.10.1
265c266
< #mynetworks = $config_directory/mynetworks
---
> mynetworks = $config_directory/mynetworks
# vi /etc/postfix/mynetworks 
# cat /etc/postfix/mynetworks 
127.0.0.0/8
192.168.10.0/24
# systemctl restart postfix

メール送信元サーバ

relayhost にメールリレーサーバのアドレスを指定する。 こうすることでローカル宛メール以外が relayhost 宛に配送されるようになる

# cp /etc/postfix/main.cf{,.orig}
# vi /etc/postfix/main.cf
# diff /etc/postfix/main.cf.orig /etc/postfix/main.cf
317a318
> relayhost = [192.168.10.1]
# systemctl restart postfix

動作確認

メールリレーサーバの maillog を確認しながらメールを送ってみる

# sudo tail -F /var/log/maillog
# echo test |sendmail mychn@example.ne.jp