Fedora 41
Sponsored Link

Mail サーバー : SPF チェックの設定2024/11/13

 

Postfix がメール受信時に SPF (Sender Policy Framework) のチェックを行うよう設定します。

送信側としての SPF の設定は、DNS サーバーの SPF レコードの設定 を参照ください。

[1] Postfix の設定です。
[root@mail ~]#
dnf -y install pypolicyd-spf
[root@mail ~]#
vi /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 /etc/postfix/master.cf
# 最終行に追記
policyd-spf  unix  -       n       n       -       0       spawn
  user=pyspf-milter argv=/usr/libexec/postfix/policyd-spf

[root@mail ~]#
vi /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

[root@mail ~]#
systemctl reload postfix
[2]

Gmail 等から自身のメールアドレスにメール送信し、ヘッダーに [Received-SPF: Pass (mailfrom) ***] と表示されていれば OK です。

関連コンテンツ