Back to Course
Լight modeDark mode

SPFの仕組み

SPFレコードを作成する

DNSサーバにSPFレコード構文を作成し、どのIPアドレスがあなたのドメインからのメール送信を許可されているかを指定します。これは、誰かがあなたのドメインからなりすましメールを送信しようとした場合、そのメールサーバのIPアドレスが承認されたサーバの1つとしてリストされていないため、そのメッセージは失敗することを意味します。
 

たとえば、Gmailアカウントだけがドメイン名からメールを送信でき、Outlookアカウントは送信できないようにしたい場合は、SPFレコードに次の行を追加します:
 

v=spf1 a mx include:_spf.google.com ~all
 

これは、IPアドレスが_spf.google.comで終わるホストから送信されたメッセージはすべて有効とみなされ、それ以外のメッセージはすべて放棄されるべきであることをサーバに伝えます。 

 

DNS ルックアップ
 

メール送信者がメッセージを送信しようとすると、受信者サーバは送信ドメインのDNSルックアップを実行し、SPFレコードがあるかどうかを確認します。これを「認証」と呼びます。
 

SPFレコードがない場合、認証は失敗し、メッセージは配送されません。SPFレコードがある場合、SPFサーバは、SPFレコードで指定されたホスト名のTXTレコードのIPアドレスをチェックします。
 

指定されたIPアドレスがない場合、認証は失敗します。そうでない場合は、TXTレコードの記述順に、指定された各IPアドレスに対してAクエリを実行します。
 

NXDOMAIN または NOERROR の結果コードを返したIPアドレスは、SPFサーバによって認可されたとみなされ、そのホスト名がそのドメインの認可された送信ホストのリストに追加されます。

 

認証結果

メールサーバは、SPFレコードで指定されたルールに基づいて、メッセージを受信者に配信するか、拒否フラグを立てます。
 

認証結果には3つの形式があります:Pass(合格)、Neutral(中立)、Fail(不合格)です。
 

Passは、メールサーバがそのメッセージを正当なものとして受け入れ、配送を許可することを意味します。Neutralは、DNSにそのドメインのレコードがまったくないか無効であることを意味し、そのドメインからの正当なメッセージかどうかを知る方法がないことを意味します。Failは、このメッセージが配信されるに足る十分な信憑性がないことを意味します。
 

たとえば、IPアドレス「234.2.1.2」を持つメールサーバが「join@apple.com」からメールを送信するとします。受信サーバはドメインネームサービス(DNS)を参照して、このIPアドレスが「apple.com」ドメインの代わりにメールを送信することを許可されているかどうかを判断します。そうでない場合は、SPFレコードで指定されたメカニズムに従って破棄されるか、スパムとしてマークされます。


Course content
メール認証の基礎