Mail サーバー : SPF チェックの設定2024/07/18 |
Postfix がメール受信時に SPF (Sender Policy Framework) のチェックを行うよう設定します。 送信側としての SPF の設定は、DNS サーバーの SPF レコードの設定 を参照ください。 |
|
[1] | Postfix の設定です。 |
root@mail:~ #
pkg install -y py311-spf-engine
root@mail:~ #
vi /usr/local/etc/python-policyd-spf/policyd-spf.conf # デバッグレベル (-1,0,1,2,3,4) # 4 が最大, -1 はログを記録しない debugLevel = 1 # テスト専用モードで動作させる場合は [TestOnly = 0] に変更 # テスト専用モードの場合 SPF チェックによるメール拒否はしない TestOnly = 1 # HELO チェックの設定 # - [Fail] : HELO 失敗時のみ拒否 # - [SPF_Not_Pass] : チェック結果が [Pass], [None], [Temperror] 以外の場合は拒否 # - [Softfail] : チェック結果が [Fail], [Softfail] の場合は拒否 # - [Null] : Null 送信者に対しての HELO Fail を拒否 # - [False] : 拒否はせずにヘッダーのみを追加 # - [No_Check] : HELO チェックをしない HELO_reject = Fail # Mail_From チェックの設定 # - [Fail] : チェック失敗時のみ拒否 # - [SPF_Not_Pass] : チェック結果が [Pass], [None], [Tempfail] 以外の場合は拒否 # - [Softfail] : チェック結果が [Fail], [Softfail] の場合は拒否 # - [False] : 拒否はせずにヘッダーのみを追加 # - [No_Check] : Mail From/Return Path チェックをしない Mail_From_reject = Fail # Permanent Error の設定 # - [True] : SPF チェック (HELO/Mail From) が [PermError] の場合は拒否 # - [False] : [PermError] を SPF レコードがない場合と同様に扱う PermError_reject = False # Temporary Error の設定 # - [True] : SPF チェック (HELO/Mail From) が [TempError] の場合は受信を延期 # - [False] : [TempError] を SPF レコードがない場合と同様に扱う TempError_Defer = False # SPF チェックをしないアドレス skip_addresses = 127.0.0.0/8,::ffff:127.0.0.0/104,::1
root@mail:~ #
vi /usr/local/etc/postfix/master.cf
# 最終行に追記
policyd-spf unix - n n - 0 spawn
user=nobody argv=/usr/local/bin/policyd-spf
root@mail:~ #
vi /usr/local/etc/postfix/main.cf # smtpd_recipient_restrictions に追記 smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_policy_service unix:private/policyd-spf # タイムリミットを設定 # * このパラメータを省略した場合 # [command_time_limit] (デフォルト値 1000s) と同じ値が適用される policyd-spf_time_limit = 3600root@mail:~ # service postfix reload
|
[2] |
Gmail 等から自身のメールアドレスにメール送信し、ヘッダーに [Received-SPF: Pass (mailfrom) ***] と表示されていれば OK です。 |
Sponsored Link |