Re: Q. Postfix で任意のユーザー宛のメールを拒否したい
フォローアップありがとうございます。
> これだと、途中経路のMTAがReceived:ヘッダに for <user1@example.tld1>; を
> つけなかった場合、弾けないですよね。
> 他にも、Received:ヘッダ以外に for <user1@example.tld1>; が含まれていても
> 弾いてしまうという問題があります。
> # 実用上は問題ないでしょうけれど
はい、ダメでした。実用上も問題ありでした。 (^^;)
実用上の問題とは、
CC や BCC で送信されて来た場合、
Received に該当文字列は含まれていませんでした。
> header_checks でやるよりは、smtpd_recipient_restrictions でやる方が
> 確実ではないでしょうか。
>
> main.cf:
> smtpd_recipient_restrictions =
> check_recipient_access hash:/etc/postfix/reject_address,
> permit_mynetworks,
> reject_unauth_destination
>
> /etc/postfix/reject_address:
> user1@example.tld1 550 Unknown User
ありがとうございます。期待通りの処理を行ってくれました。
> 受信中(SMTPセッション中)に 550 で弾くのが一般的だと思います。
なるほど。
news:blpi0a$i94$1@caraway.media.kyoto-u.ac.jp に記した疑問は
解決しました。ありがとうございます。
> Postfix 1.1 では、デフォルトでは local_recipient_maps が設定されないので
> 受信後にバウンスメッセージを生成していましたが、Postfix 2.0 以降では
> デフォルトで local_recipient_maps が設定されているので、存在しないユーザ
> へのメールは、SMTPセッション中に 550 で弾きます。
そうだったんですか、色々お教えいただきありがとうございます。
この教えを基に、以下2通りの設定を試みました。
local_recipient_maps = unix:passwd.byname $alias_maps
local_recipient_maps = $alias_maps unix:passwd.byname
上記の何れの設定も以下のような結果になりました。
・$alias_maps や $virtual_maps に記述された
ユーザーやアドレス宛のメールは正常に受信する
・上記以外は /etc/passwd にユーザーが存在しても
Unknown User となってしまう
( check_recipient_access でマッチしないものもです)
また壁に当たってしまいました。(汗)
-- K.Yamamoto
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735