Ubuntu16.04にPostfixをインストールし
メール送信テストは、mailutilsパッケージをインストールして行った。
送信のみのSPF認証は、Postfix側は何も触らず
ドメインのDNSレコードを追加するだけで良い。
全体の流れは以下。
1)ドメイン取得
まずは「ムームードメイン」でドメインを取得する。
取得の手順については、他のサイトさんで説明されつくされているので省略。
2)カスタムDNSの設定
手順1
手順2
手順3
以下の設定を行う。
xxx.xxx.xxx.xxxはサーバIP。
サブドメイン:''(空) 種別:TXT 内容:v=spf1 +ip4:xxx.xxx.xxx.xxx -all
SPFレコード(TXT)の書式は以下のとおり
バージョン情報 空白 定義 空白 定義 ……
詳細は以下のサイトの説明がわかりやすい。
Sender ID:送信者側の設定作業 (3/4):送信ドメイン認証技術解説 - @IT
Sender Policy Framework - Wikipedia
定義の書式については、認証について記述する修飾句(クオリファイヤ)と
ホスト情報について記述する修飾句(メカニズム)で主に構成される。
上記の「v=spf1 +ip4:xxx.xxx.xxx.xxx -all」の内容を説明すると、
バージョンにバージョン1である「spf1」を設定し、
「ip4:xxx.xxx.xxx.xxx」のメカニズムに、マッチ後に「認証成功」の結果を返す「+」を設定し
「all」のメカニズムに、マッチ後に「認証失敗」の結果を返す「-」を設定している。
「all」はプログラムで言うelse的な使われ方で、定義の最後で使用される。
ちなみにクオリファイヤを設定しない場合は、デフォルトで[+]が設定される。
MXレコードを既にゾーンに設定していれば、「v=spf1 +mx -all」とするのも可能っぽい。
DNSレコードの変更が、ちゃんと認識されているかは以下のサイトを使用した。
DNS Checker - DNS Check Propagation Tool
あとはテスト送信して見て、受信先のメールのメッセージ情報を見れば
正しく設定されているかが確認できる。
[質問]
TXTレコードの「~all」と「-all」は何が違うの?
SPFの送受信設定
ドメイン取得
[参考]
メモ: 自宅サーバー(Ubuntu)のPostfix設定方法(OP25B、SMTP-AUTH、送信元ドメイン確認対応) - fuzzy Weblog@hatena (更新終了)
SIOS "OSSよろず" ブログ出張所: Postfix で SPF 認証に対応する方法
SPFの送受信設定
[Postfix]SPFレコードを設定して携帯へメールを送信できるようにする | 本日も乙
ムームードメインで取得したドメインを他社のサービスで利用したい場合 - ChinoBlog
[Postfix]SPFレコードを設定して携帯へメールを送信できるようにする | 本日も乙
ムームードメインでG Suiteを利用する方法 - どんとこい!G Suite
SPF認証結果の意味
SPF(Sender Policy Framework) : 迷惑メール対策委員会