Error, group does not exist! Check your syntax! (ID: 1)
1 概要
本記事では、配信するメルマガの送信元メールアドレスが、
なりすましアドレスと扱われないようにする方法について説明します。
今までdocomoなどの携帯のキャリアメールで受信されなかったメルマガも、
本対策を施せば受信してもらえるようになり、
メルマガの到達率が上がるようになります。
メールを送信する際、
受信するサーバーに対して送信元は送信元情報として次の2つの情報を送ります。
- 送信元のドメイン名
- 送信元メールアドレス
そのドメインと無関係なメールサーバを利用して
送信元を偽ったメールを送信しようとすると、
受信側でそのことを検出して自動的に受け取りを拒否することができます。
この仕組みをSPF(Sender Policy Framework)といいます。
【図参照】
図1-1送信ドメイン認証イメージ
メルマガを配信する場合では、
「メルマガ配信スタンド」と呼ばれる
メールマガジン配信専用のサーバーからメールが送られます。
ここで送信メールアドレスに
あなたのブログやサイトの独自ドメインのメールアドレスに設定をしている場合では、
メールを配信するサーバー : メルマガ配信スタンドのサーバー
送信元のメールアドレス : 独自ドメインのサーバー
とドメインが異なることから、なりすまし判定を受けてしまう、
つまりスパムとして扱われ、
読者にメールが届かないという可能性が高くなってしまっています。
このようなメールを受信するのか、受信拒否するのかは、
メールを受信する側の選択になります。
多くの携帯のキャリアメールは、
デフォルト受信拒否で、利用者が設定で受信できるようになっていますよね。
例えば、
メールを配信するサーバー : example.com
送信元のメールアドレス : freereport@dotiga.jp
といったような場合では、
送信元のメールアドレスからそのドメインは@マーク以降の「dotiga.jp」ですが、
実際メールを送っているサーバーは「example.com」ということから
ドメインが異なります。
ここで、
これら異なるサーバーの情報を紐付けるために活躍するのが
「SPFレコード」というわけです。
2 SPFレコードの概要
2.1 SPFレコードとは
SPFレコードとは、
ドメインの管理者がTXTレコードとして作成する短いテキストデータです。
このTXTレコードは、
他のレコード(A、PTR、MXなど)と一緒に、DNSサーバーに登録します。
たとえば次のようなものです。
v=spf1 ip4:12.34.56.78 include:example.com -al
2.2 SPFレコードの問い合わせタイミング
SPFレコードは、
そのドメインからのメール送信を許可されているのは、
どういったサーバーなのかを受信サーバーに伝える役目を担います。
通常、SMTPの一連の通信手順のうち、
メール本文を送信する前の段階で問い合わせられます。
詳しい手順については、本記事の趣旨からはずれてしまいますので省略します。
2.3 SPFレコードを形作るもの
本節の内容は専門的になりますので、読み飛ばされてかまいません。
実際に設定すべき内容については、3 SPFレコードの設定で示します。
SPFレコードは様々な機構(mechanism)の組み合わせによって出来ています。
各機構は、左側に書かれているものから順番に評価されます。
include
include機構は、ドメイン名を引数とします。
include先ドメインのSPFレコードで認証処理が通るならば、認証を通します。
include先でさらにinclude機構があった場合は、再帰的に評価します。
a
a機構は、ドメイン名を引数とします。
送信サーバのIPアドレスが、
与えられたドメインのAレコードもしくはAAAAレコードで解決されるならば、
認証を通します。
mx
mx機構は、ドメイン名を引数とします。
送信サーバのIPアドレスが、
与えられたドメインのMXレコードで解決されるならば、認証を通します。
ip4, ip6
ip4機構とip6機構は、IPアドレスを引数とします。
CIDR記法によるブロック指定(例 192.168.0.0/16)も可能です。
送信サーバのIPアドレスが、与えられたIPアドレスに含まれるならば、
認証を通します。
ptr
ptr機構は使わないようにしましょう。
いくつかの技術的な理由によりエラーとなってしまう場合があり、
名前解決のために受信サーバのメモリと帯域を多く消費します。
受信サーバによっては、
ptr機構が含まれているだけで、認証を弾いてしまう場合もあります。
all
all機構は、引数を取らず常に認証を通します。
SPFレコードの末尾で使うのが一般的です。
たとえば認証結果を失敗にする検証子(qualifier)と組みあわせた「~all」は、
「これまでの機構によって認証が通らなかったIPアドレスは、
全て認証失敗する」ことを意味します。
redirect
redirectは、正確には機構ではなく変更子(modifier)です。
redirect先ドメインのSPFレコードを使って認証処理を行います。
redirect変更子を利用するならば、他の機構は使わないようにしましょう。
redirect変更子を使ったシンプルな例は次のとおりです。
v=spf1 redirect=example.com
機構のうちinclude、a、mx、ptr、exists、redirectは、
DNSの問い合わせを要求するため、
一つのSPFレコード内での使用は10回以下に制限されています。
なおinclude機構は再帰的に評価されるため、
たとえばinclude先のSPFレコードが
さらに2つのinclude機構を含んでいたならば、3回として数えます。
3 SPFレコードの設定
3.1 設定に必要な情報
わたしの利用している「オレンジメール」、
そして比較的利用者の多いと思われる「エキスパートメールクラウド」と
「アスメル」とで設定例を示します。
その他のメルマガ配信スタンドにつては、
それぞれのサポートページでご確認いただくか、
サポートに問い合わせすれば設定値を教えてもらえます。
実際に、「オレンジメール」の場合は
サポートページにSPFレコードの設定情報がありませんでしたので
サポートに問い合わせしました。
なお、メルマガ配信スタンドによっては無料の代行設定サービスがありますので、
ご自分で設定が困難な方はそちらを利用されると良いでしょう。
メルマガ配信におけるSPFレコード作成に必要な情報は、次の2つになります。
① メルマガ配信スタンドメール送信サーバーのIPアドレス(ホスト名置き換え可)
② 配信元メールアドレスのドメインIPアドレス
(独自ドメインから直接メルマガを配信しない場合は不要)
3.2 SPFレコードのフォーマット
「オレンジメール」、「エキスパートメールクラウド」、「アスメル」3社とも
下に示すフォーマットで設定します(たった、これだけです)。
ただし、複数のメルマガ配信スタンドに対して設定する場合は、
この限りではありません(1行に複数のinclude機構を記述します)。
(1)メルマガ配信スタンドメール送信サーバーのIPアドレス
表3.2-1に各メルマガ配信スタンドメール送信サーバーのIPアドレスを示します。
表3.2-1 メルマガ配信スタンドメール送信サーバーのIPアドレス
(2)独自ドメインのIPアドレス
独自ドメインから直接メルマガを配信しない場合は、
独自ドメインIPアドレス設定は不要です。
独自ドメインのIPアドレス確認方法をX2サーバーの場合で示します。
他のレンタルサーバーの場合は、それぞれのサポートページでご確認ください。
まず、「サーバー管理ツール」にログインします。
そして「サーバー情報」を選択します。
図3.2-1 X2サーバー管理ツール
表示される「サーバー基本情報」中に、
独自ドメインのIPアドレスが表示されています。
図3.2-2 サーバー基本情報
(3)SPFレコードの設定例
独自ドメインからもメルマガを配信する場合
v=spf1 ip4:12.34.56.78 include:example.com -al
「br num=”2″] 独自ドメインからメルマガを配信しない場合
v=spf1 include:example.com -al
3.3 SPFレコードをDNSサーバーに設定する
SPFレコードは、DNSサーバーに設定します。
以下にX2サーバーの場合での設定を示します。
ⅰ) まず、「サーバー管理ツール」にログインし、「DNS設定」を選択します。
ⅱ) 複数のドメインがある場合には、SPFレコードを設定するドメインを選択します。
ⅲ) 現在設定されているDNSレコードが表示されます。
「DNSレコード一覧」で、既にSPFレコードがあるかないかを事前に確認します。
既にSPFレコードがある場合には、それに対して編集する必要があります。
ⅳ) 「DNSレコード追加」タブを選択すると、表示が図3.3-4に示すようになります。
以下のように入力します。
①の「ホスト名」はそのまま(空欄)
②のタイプは、「TXT」を選択。
③の内容に、
3.1~3.2節で見てきた設定内容を記述します。
④の優先度はそのまま
ⅴ) 図3.3-4において「DNSレコードの追加(確認)」をクリックすると、
図3.3-5に示すように追加レコードの確認画面が表示されます。
問題がなければ、「DNSレコードの追加(確認)」をクリックします。
ⅵ) DNSレコードが追加されれば、図3.3-6のように表示されます。
3.4 SPFレコードの複数設定はNG
メルマガ配信スタンドを複数使われている方もいらっしゃるでしょう。
そういう方は、
全てのメルマガ配信スタンドに対してSPFレコードを設定したいと思われるでしょう。
その場合は、下に示すよう1行内に複数のinclude機構を記述します。
v=spf1 include:_a.example.jp include:_b.example.jp ~all
SPFレコードの設定は、1つしかできません。
SPFレコードが複数設定されている場合はエラーとなり、
折角設定したSPFが機能しないことになります。
SPFレコードの詳細については、下に示すページをご参照ください。
SPF(Sender Policy Framework)
http://salt.iajapan.org/wpmu/anti_spam/admin/tech/explanation/spf/
間違いから学ぶSPFレコードの正しい書き方
http://salt.iajapan.org/wpmu/anti_spam/admin/operation/information/spf_i01/
3.5 SPFレコードのチェック
SPFレコードを間違って設定した場合でも
直ちに受信拒否などの影響が出るわけではありませんので、
間違いに気付かない場合が多いようです。
そこで、公開したSPFレコードが正しいかどうかをまずチェックすることをお勧めします。
SPFレコードによる認証結果を返す無料サービスが
いろいろ存在しますので、以下にご紹介します。
MX Lookup
http://mxtoolbox.com/SuperTool.aspx
SPF Record Testing Tools
http://www.kitterman.com/spf/validate.html
Beveridge Hosting – SPF Test
http://tools.bevhost.com/spf/
Sender Policy Framework : Tools
http://www.openspf.org/Tools
【SPF Record Testing Toolsでの確認例】
「SPF Record Testing Tools」でのSPFレコードチェックの例を示します。
図3.5-1 SPFレコードテスト
表3.5-1 「SPF Record Testing Tools」でのテスト入力値
SPFレコードが正しく編集されていれば、図3.5-2示すように、
PASS sender SPF authorized
の文言が表示されます。
図3.5-2 SPFレコードに問題が無い時の結果表示
ちなみに、SPFレコードが正しく編集されていない場合、図3.5-3に示すように
softfail domain owner discourages use of this host
などと表示されます。
図3.5-3 SPFレコードに問題が有った時の結果表示
【参考図書】
技術評論社
売り上げランキング: 482,776
売り上げランキング: 8,571
以上
Error, group does not exist! Check your syntax! (ID: 4)