概要
正常に受信するが、 受け取ったデータは /dev/null に流し込むPostfixの構築。
そんなことしてなにが嬉しいの
DNSにMX/Aレコードが存在しないドメインからのメールを拒否するPostfixの設定があります。
スパマーでもない限り存在しないドメインからメールを送ることは無いだろうと考えていましたが、 一方的にno-replyメールを送りたい場合があります。
この場合、 メールを拒否されないためには、 メールアドレスのドメイン部分のDNSに何かしら「最終的にIPアドレスとなるもの(MXレコードやAレコード)」を設定しておく必要があります。
しかし、 自前でMTAを持たず、 社内共有のリレーサーバを経由するような場合、 最終宛先にメールアドレス間違い等で拒否された場合に、 リレーサーバが「お届けできませんでした」を送る先に送信できず、 リレーサーバでエラーが出てしまいます。 (DNSを設定しない場合もエラーは出ますが、 ネットワーク接続ができなかったテンポラリエラー扱いで、 リトライ処理が走ってしまう事が多いです)
それくらい許容するという手も全然ありですが、 最小限の労力で「メールを受け付けるけどすぐさま捨てる」というメールサーバを作ることで解決しようと思います。
- MAIL FROM: no-reply@hoge.fuga.example.com / RCPT TO: user@atesaki-domain.example.jp
- MAIL FROM: no-reply@hoge.fuga.example.com / RCPT TO: user@atesaki-domain.example.jp (そのままリレー)
- ユーザがいない等のエラー応答
- no-reply@hoge.fuga.example.com に 「メールをお届けできませんでした」のメール(Bounce)を返したいが、 失敗する
設定
環境
- CentOS Linux release 7.4.1708 (Core)
- Postfix 2.10.1-6
外部からのメールを受け付け許可
-inet_interfaces = localhost
+inet_interfaces = all
正確には外部のIPからの接続を許可です。 firewalld/iptables/各種クラウドサービスのファイアウォール(tcp:25)も許可してあげましょう。
扱うドメインを追加
-mydestination = $myhostname, localhost.$mydomain, localhost
+mydestination = $myhostname, localhost.$mydomain, localhost, hoge.example.jp, hoge.fuga.example.com
ここに記載したドメイン宛のメールのみ受け付けます。その他の場合は「Relay access denied」と拒否します。
no-reply@xxxxxx のxxxxxの部分で使用予定のものを書いてください。
no-reply宛を/dev/nullへとルーティング
+no-reply: /dev/null
編集後、 newaliases
コマンドを実行してください。
設定反映
postfix check
postfix reload
(まだpostfixをを動かしていない場合は、 systemctl start postfix
して下さい)
検証
no-reply@使いたいドメイン に対してメールを送ってみましょう。
Dec 18 06:16:17 yourhostname postfix/local[20106]: D959510D2F82: to=<no-reply@your.domain>, relay=local, delay=11, delays=11/0.02/0/0, dsn=2.0.0, status=sent (delivered to file: /dev/null)
という風に /dev/null に送られた事がわかります。
その他
- この設定だけでは問題ないはずですが、 念のためオープンリレーサーバになっていないかチェックしておきましょう。
- この設定だけでは、 実存するアカウントへのメール (ex. root@xxx.xxx) にはメールが届きます。 ここに迷惑メールが溜まってしまう事もあるので、 それを避けたい場合は
/etc/aliases
を全て /dev/nullに向ける等してみましょう。 (cronが失敗した時のメールも消えてしまいますが、 その辺の設定は書きません) - 完全に省きましたが、 使用するドメインのDNSの設定(MX/A/SPFのTXTレコード)ももちろん必要です。 この辺はたくさんインターネットに資料があります。