SPF
- SPF(Sender Policy Framework)は電子メールにおける送信ドメイン認証
- DNSゾーンにSPFレコードを追記するだけ
- ゾーンのtxtレコードに追加することになる
- 受信側MTAではSPFの解釈をさせるように設定する
- 携帯電話各社はSPFを利用している
- SPFレコードが255文字に収まらない時は互換性問題が発生する、includeを利用して収める必要がある
- 一般にはエンベローブFromを元にSPFする
- エンベローブFromがない場合はHELO/EHLOドメインを利用する
フォーマット
SPFレコードの記述方法
IN TXT "v=spf1 +ip4:192.168.0.2 -all" 192.168.0.2のIPアドレスから送信されるメールは正しく、それ以外は正しくない
ディレクティブ | +ip4:xxx.xxx.xxx.xxxや+mxなどのMTAサーバー条件を記載 |
モディファイヤ | redirectやexplanationなどの動作を記載 |
ディレクティブはメカニズムとクオリファイヤで構成
v= | SPFバージョンの指定、例)v=spf1 |
all | 常に真の値をとる、一致しない全てのIPアドレスのためには-allと指定する |
a | ドメイン名が送信元MTAのIPアドレスに一致するAレコードを持っている場合、真 |
ip4 | ip4のIPアドレスを指定 |
ip6 | ip6のIPアドレスを指定 |
mx | 送信元MTAのIPアドレスがドメイン名に指定されているMXレコードの範囲にあれば、真 |
ptr | 送信元MTAのIPアドレス逆引きドメイン名を正引きした結果に、送信元MTAのIPアドレスが含まれて逆引きドメイン名が送信元ドメイン名の範囲であれば、真 |
include | ファイルをインクルードする |
クオリファイヤーはディレクティブの先頭1文字を指し、ステータスを決定する
省略された場合は+が設定されているものとして扱われる
ステータスによる配信制御は実際受信側MTAの設定に委ねられる
+ | Pass | 正当なメール |
- | Fail | 不当なメール(配信拒否される) |
~ | SoftFail | 不当なメール(配信される) |
? | Neutral | SPF未設定として扱われる |
確認方法
dig hogeho.com txt