配送元サーバと中継サーバ共通
参照:https://www.rem-system.com/mail-postfix01/
パッケージの確認
yum list installed | grep postfix
デフォルトパラメータと違うものは表示
postconf -n
メールサーバのFQDNを指定
myhostname = mail.example.com
ドメイン名を設定
mydomain = example.com
postfixが待ち受けを行うプロトコル
inet_protocols = ipv4
宛先不明のバウンスメールを削除
これは中継サーバだけでいい。
送信は中継先に遅れている
参考:http://www.ice.is.kit.ac.jp/~umehara/misc/comp/20091218c.html
バウンスメールの確認
https://open-groove.net/postfix/check-deferred-mail/
以下コマンドで確認できる
postqueue -p
配信専用のメールサーバー構築
メールを受け取るインターフェイス。
localhostはlocalhost(自分自身)からのメールのみ受け取る設定
inet_interfaces = localhost
中継サーバを指定
relayhost = [192.168.56.21]
設定ファイルのチェック
postfix check
設定ファイルの変更の反映
systemctl restart postfix
中継メールサーバ
参考:https://plumpliver.com/postfix-relay-setting/
firewallが空いてない
SELinuxを無効化
メールを受け取るインターフェイス。
localhostはlocalhost(自分自身)からのメールのみ受け取る設定 ←リレーできない
inet_interfaces = localhost ←とりあえずallではリレーできる
mynetworks
転送を許可するNWアドレスを設定。
ここで設定されたIPアドレスからのメールはどのドメイン宛てのメールであっても無条件でリレーを許可します。
relay_domainsの設定がされていても無視してどのドメイン宛てのメールもリレーするので注意
mynetworksで指定されたNWからのメールを受信すると、宛先がmydestinationで指定されたもの以外の場合、DNSサーバを使用して宛先の名前解決を行い、自分自身以外のMTAへの転送を行う
mynetworks = 127.0.0.0/8, 192.168.56.0/24
relay_domains
mynetworksで設定されていない、自分の管理下にはないMTAから来たメールに対し、どのドメイン宛てのメールだけ許可するか。
安全: 空にすることによりよそ者からのメールを転送しない
relay_domains =
参考:http://www.postfix-jp.info/trans-2.3/jhtml/BASIC_CONFIGURATION_README.html#relay_from
メール配送の確認
telnetのインストール
yum -y install telnet
telnetコマンドでSMTP接続
telnet localhost 25 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 ホスト名.localdomain ESMTP Postfix
heloコマンドで応答
helo localhost 250 ホスト名.localdomain
送信元のメールアドレスを入力
mail from:test@mail.example.com 250 2.1.0 Ok
送信先
rcpt to:test@gmail.com 250 2.1.5 Ok
dataコマンドで本文を記入
data 354 End data with . testmail . ←ドットで終了
quitで切断
quit
ログを確認
less /var/log/maillog
status=sent (250..)
Queued mail for delivery
↑とあれば送られている
Gmailの迷惑メールに入っておりました。
※ログは送信元も中継サーバのどっちも記録される
サーバ間でリレーテスト
もう一台にファイアウォールと受信の設定をしてIPで送信してみる
メール配送経路の情報をtransportファイルで指定するため必要?
いらないのでは?
transport_maps = hash:/etc/postfix/transport
vi /etc/postfix/transport
example.com行きのメールは192.168.56.21に中継させる
example.com smtp:[192.168.56.21]
ハッシュ化
postmap hash:/etc/postfix/transport
コメント