情弱エンジニアのなかのblog

一人前のエンジニアになる為のブログです

SPF設定について

メールの送信でSPF設定というものがあるのですが、これが結構ややこしいので 一度記事にまとめたいと思います。

1.SPF設定とは

一般財団法人 インターネット協会SPF設定の概要がこちらになります

Sender Policy Framework(SPF)は、SMTPを利用したインターネット電子メールの送受信に
おいて送信者のドメインの偽称を防ぎ、正当性を検証する仕組みのひとつとして
元Pobox社のMeng Wong氏により提唱された送信ドメイン認証方式である。

迷惑メールは、一般的に送信元アドレスを偽称して送信してくることが多い。
送信元を偽ることで、受信者が迷惑メールの送信者を突き止めることを困難にするためである。
インターネット上では、一般にSMTP(またはESMTP)で電子メールの配送を行う。
SMTP通信による電子メールの配送では、送信者メールアドレスが2種類与えられる。
電子メールのFrom:ヘッダー上に示される送信者アドレスと、
SMTP通信でのMAIL FROM:コマンドの引数として与えられるメールアドレスである。
SMTPでは、この2つが同じでなくてはいけないという規則はなく、
また、一般に任意のアドレスを指定可能であるため送信者の偽称が非常に簡単に行える。

とあります。。かなりくだいて説明しますと

SPF設定とはメールを送信した際にそのメールが迷惑メールとして扱われないための設定になります。

そもそもなぜ迷惑メールと間違われる可能性があるかといいますと メールは悪意のある第三者が送信元のメールアドレスを自由に設定することが可能です 受信者は送られてきたメールが正しい送信者なのか悪意のある第三者なのか判断できずにメールを迷惑メールとしてゴミ箱に入れてしまう可能性があります。

せっかく送信したメールが迷惑メールとして扱われて受信者に見られなくては意味がないです これを解決するのがSPF設定になります。 メールアドレスにSPF設定をすることで「このメールは正しい送信者からおくられてますよ」 ということになり受信者は安心してメールを受け取ることができます。

2.SPF設定方法

ではどうしたらSPF設定ができるのか DNSサーバのゾーンファイルのDNSレコードにドメイン名を記載すればオッケーです。

、、、だからどういうことだよといいますと まずメールアドレスというのはそのドメインを取得しているサービスがあります ドメインとはaaa@bbb.comなどの@以降の部分になります サービスはいくつかあります。例えば

など、ほかにもあります ドメインを取得する際に利用したサービスで設定が可能です。 ちなみにドメインの管理するサービスを途中で変えたら変更先のサービスで設定する必要があります。 設定方法はサービスによって違うので調べて下さいとしか言えませんが おそらく「TXTレコードの設定について~」などがあるはずなので そちらに設定を記載します。記載方法は用途によって分かれるので下記サイトを ご参考にしてください。

SPF(Sender Policy Framework) : 迷惑メール対策委員会

DNSのTXTレコードのSPF設定の要点 - Qiita

3.SPFレコードの記載を依頼する場合

特殊なケースですが他社ドメインにTXTレコードを追記してもらう場合は 先程のTXTレコードの記載設定の部分にレコードを追記してもらう必要があります。 その際追記の注意点として以下のようなものがあります。

SPFレコードを複数行に記載しない

例えば

aaa.jp.   IN TXT "v=spf1 +ip4:192.168.100.0/24 ~all"
                     "v=spf1 +ip4:10.0.0.0/24 ~all"

のように複数行に記述してはいけません 正しくは

aaa.jp.   IN TXT "v=spf1 +ip4:192.168.100.0/24 +ip4:10.0.0.0/24 ~all"

のように記載してもらう必要があります。

・必要な空白文字を入れる

例えば

aaa.jp.   IN TXT "v=spf1 +ip4:192.168.100.0/24" "+ip4:10.0.0.0/24 ~all"

のように記述すると

aaa.jp.   IN TXT "v=spf1 +ip4:192.168.100.0/24+ip4:10.0.0.0/24 ~all"

と解釈されます。何がいけないかといいますと+の前にスペースが必要になります なので

aaa.jp.   IN TXT "v=spf1 +ip4:192.168.100.0/24 " "+ip4:10.0.0.0/24 ~all"

もしくは

aaa.jp.   IN TXT "v=spf1 +ip4:192.168.100.0/24" " +ip4:10.0.0.0/24 ~all"

と記載する必要があります。

細かいことですが記述方法はしっかり確認しましょう また正しくspf設定が記述されているかは 以下のサイトで確認できます。

SPF Query Tool

Sender Policy Framework (SPF) Record Lookup - SPF Check - MxToolBox

ということでSPFの概要に関して記載いたしました。 今回の記事を書くにあたり以下のサイトを参考にさせて頂きました。

インターネット用語1分解説~SPFとは~ - JPNIC

http://wa3.i-3-i.info/word12304.html

ドメインのSPFレコードの設定 – さくらのサポート情報