Postfixで特定のドメイン宛以外のメールを削除したい

コンピュータ
スポンサーリンク

■メール関連の記事
Postfix(SMTP)とDovecot(POP)で中継メールサーバ、受信サーバの検証環境を準備してみる
Postfixのrelayhost、transport、fallbackに関して
Postfix(SMTPサーバ)のキューの再送間隔に関して
メールサーバのパフォーマンステスト(負荷テスト)で、大量にメールを送る方法
Postfix(SMTPサーバ)でドメイン単位で送信宛先を制限したい
Gmailの送信者ガイドラインに対応するため、TLS、SPF、DKIM、DMARCの動作確認や設定をしてみた(その1)

メールサーバを利用していると、送信先を制限、制御したい場合があると思います。header_checksを利用すれば、柔軟に制御できますが、今回は、以前構築したRHEL(Linux)上に構築したPostfixに、簡単に制御する手順についてまとめました。

PostfixとDovecotで中継メールサーバ、受信サーバの検証環境を準備してみる
PostfixとDovecotを用い、中継メールサーバ、受信サーバの検証環境を構築する手順をまとめました。
スポンサーリンク

アクセス制御のファイル作成

transportのファイルを作成する。

test.local宛ては内部転送、yahoo.co.jpはMX配送、それ以外のメールは削除するという設定をしてみる。

// conf確認
# postconf | grep transport_maps
transport_maps = hash:/etc/postfix/transport  

ここで、設定が空欄の場合、https://kita-san.blog/computer-related/postifx-relay-pop/ を参考に設定修正

// アクセス制御の設定ファイル作成
# vi transport
test.local               smtp:192.168.11.12    # 内部転送
yahoo.co.jp              smtp:    # MX配送
*                        discard: "discard received email"   # 上記以外のメールは削除

// dbファイルの作成、更新
# postmap /etc/postfix/transport

// 作成されたファイルの確認
# ll /etc/postfix/transport*
-rw-r--r--. 1 root root 13543  1月 22 12:41 /etc/postfix/transport
-rw-r--r--. 1 root root 12288  1月 22 12:49 /etc/postfix/transport.db //作成した日時になっているはず

// 設定の反映
# systemctl reload postfix.service

動作確認

yahoo.co.jpへMX配送

yahoo.co.jp宛てはMX配送となるため、ログからMX配送していることを確認。ネットワークの構成上、現在は外部と接続できないため、time outしている。

// yahoo.co.jpへ適当に送ってみる
# echo "本文_test mail" | mailx -s "タイトル_title" -S smtp=smtp://192.168.11.11 -r relay@test.local aaaabc@yahoo.co.jp

// 中継メールサーバへ送信した際のログは以下の通り、yahooへMX配送を試みている

# tail -f /var/log/maillog
Jan 22 12:55:29 relay postfix/smtpd[5062]: connect from relay[192.168.11.11]
Jan 22 12:55:29 relay postfix/smtpd[5062]: 61E878BA70A: client=relay[192.168.11.11]
Jan 22 12:55:29 relay postfix/cleanup[5066]: 61E878BA70A: message-id=<61eb8031.oMz23S72YSZiWKBz%relay@test.local>
Jan 22 12:55:29 relay postfix/qmgr[4622]: 61E878BA70A: from=<relay@test.local>, size=514, nrcpt=1 (queue active)
Jan 22 12:55:29 relay postfix/smtpd[5062]: disconnect from relay[192.168.11.11] helo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
Jan 22 12:55:59 relay postfix/smtp[5067]: connect to mx3.mail.yahoo.co.jp[202.93.78.242]:25: Connection timed out
Jan 22 12:56:29 relay postfix/smtp[5067]: connect to mx5.mail.yahoo.co.jp[202.93.78.239]:25: Connection timed out
Jan 22 12:56:59 relay postfix/smtp[5067]: connect to mx5.mail.yahoo.co.jp[124.83.142.248]:25: Connection timed out
Jan 22 12:57:29 relay postfix/smtp[5067]: connect to mx3.mail.yahoo.co.jp[202.93.78.241]:25: Connection timed out

test.localへ内部転送

test.localは、192.168.11.11へ転送する設定に泣ているため、配送成功がログより確認できる。

// test.local宛てにメールを送ると内
# echo "本文_test mail" | mailx -s "タイトル_title" -S smtp=smtp://192.168.11.11 -r relay@test.local user01@test.local部転送する



// 中継メールサーバへ送信した際のログは以下の通り、test.localへ静的配送に成功していることを確認
# tail -f /var/log/maillog

Jan 22 13:00:05 relay postfix/smtpd[5279]: connect from relay[192.168.11.11]
Jan 22 13:00:05 relay postfix/smtpd[5279]: 976F88AF7CB: client=relay[192.168.11.11]
Jan 22 13:00:05 relay postfix/cleanup[5282]: 976F88AF7CB: message-id=<61eb8145.92XwE8GUdFy/0lmb%relay@test.local>
Jan 22 13:00:05 relay postfix/qmgr[4622]: 976F88AF7CB: from=<relay@test.local>, size=512, nrcpt=1 (queue active)
Jan 22 13:00:05 relay postfix/smtpd[5279]: disconnect from relay[192.168.11.11] helo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
Jan 22 13:00:05 relay postfix/smtp[5067]: 976F88AF7CB: to=<user01@test.local>, relay=192.168.11.12[192.168.11.12]:25, delay=0.2, delays=0.04/0/0.12/0.03, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 15EF38AF7D6)
Jan 22 13:00:05 relay postfix/qmgr[4622]: 976F88AF7CB: removed

yahoo、test.local以外は削除

適当なドメインaaaa.comといった適当な場所へ送信すると、「discard received email」と削除されていることを確認できる。

// test.local宛てにメールを送ると内
# echo "本文_test mail" | mailx -s "タイトル_title" -S smtp=smtp://192.168.11.11 -r relay@test.local user01@aaaa.aaaa.com



// 中継メールサーバへ送信した際のログは以下の通り、test.localへ静的配送に成功していることを確認
# tail -f /var/log/maillog

an 22 13:04:02 relay postfix/smtpd[5351]: connect from relay[192.168.11.11]
Jan 22 13:04:02 relay postfix/smtpd[5351]: 651028BA70A: client=relay[192.168.11.11]
Jan 22 13:04:02 relay postfix/cleanup[5354]: 651028BA70A: message-id=<61eb8232.CkbU4EexUXtSBOcn%relay@test.local>
Jan 22 13:04:02 relay postfix/qmgr[4622]: 651028BA70A: from=<relay@test.local>, size=518, nrcpt=1 (queue active)
Jan 22 13:04:02 relay postfix/smtpd[5351]: disconnect from relay[192.168.11.11] helo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
Jan 22 13:04:02 relay postfix/discard[5355]: 651028BA70A: to=<user01@aaaa.aaaa.com>, relay=none, delay=0.1, delays=0.05/0.05/0/0, dsn=2.0.0, status=sent ("discard received email")
Jan 22 13:04:02 relay postfix/qmgr[4622]: 651028BA70A: removed

■メール関連の記事
Postfix(SMTP)とDovecot(POP)で中継メールサーバ、受信サーバの検証環境を準備してみる
Postfixのrelayhost、transport、fallbackに関して
Postfix(SMTPサーバ)のキューの再送間隔に関して
メールサーバのパフォーマンステスト(負荷テスト)で、大量にメールを送る方法
Postfix(SMTPサーバ)でドメイン単位で送信宛先を制限したい
Gmailの送信者ガイドラインに対応するため、TLS、SPF、DKIM、DMARCの動作確認や設定をしてみた(その1)

タイトルとURLをコピーしました