NetworksolutionsでのSPF設定
- (2014-03-20 19:24:28)
事の発端・・・gmailで迷惑フォルダに入れられる原因は?
カートを専用サーバに変更して以来、明細メールが来ないと連絡されるgmailの人が増えた。
どうも「迷惑フォルダ」に入れられるケースが多いようだ。gmailの迷惑フォルダは、デフォルトでは表示されておらずわかりにくい。
以前は問題なかったのに・・・当惑している。社員の一人が「SPFの問題では?」と指摘してくれた。
調べると当社からのメールのSPF判定はすべて「neutral」。専用サーバ以前もneutralだったので、これが原因とは考えにくい。
私は今回新設した専用サーバのIPアドレスが「汚れている」と感じている。当社が利用する前にスパム用のメールサーバなどとして使われていたのではないか。
知らない間に普及していたSPF
とりえあず、SPFが原因でないことを検証するためにも、SPFを設定することに・・・というわけで久しぶりにSPFを調べてみると、大企業さんの間では、すでに30%程度の普及率とか。
SPFは以前は普及する兆しさえ感じなかったが、携帯電話会社さんが2008年頃から導入したという事実を知って驚愕した。
携帯電話へのメールの到達率にも影響が出るだろう。ならばSPFは対策した方がよいという発見だった。今さらではある。
大企業での普及も、どうもキャリアの対応以降進んだらしい。
とはいえ、モバイルへのメール到達率の悪さは彼らのポリシーの問題であり、SPF対応は「ないよりマシ」程度ではないかと考えている。
NSLOOKUPの使い方
nslookupコマンドが使えないと設定はやりにくいので、勉強した。
・そのドメインのネームサーバを知る
nslookup
set type=ns
(ドメイン名)
・nslookupから直接ネームサーバ・メールサーバ・txtの内容を知る
nslookup -type=ns (ドメイン名)
nslookup -type=mx (ドメイン名)
nslookup -type=txt (ドメイン名) → spfの内容も見れる
当社のsmtpサーバ構成
当社の場合、メインのロリポップにプラスして、専用サーバの送信サーバをSPFとして設定する必要がある。
(1)ロリポップ・・・送受信用
(2)別のプロバイダで稼働する専用サーバ・・・カートシステム
ロリポップの送信用メールサーバ
「nslookup -type=mx (ドメイン名)」で問い合わせるとメールサーバが表示される。その表示は「mx01.lolipop.jp」となる。
当初、SPFの設定にmx01.lolipop.jpを入れてみたりするから動作せずムダに時間を消耗した。
ロリポップの場合、受信サーバと送信サーバは個別に分けられており、しかも、かなりたくさんの送信サーバが存在する模様。
普通、小規模なサイトだとメールサーバは1本しか立てない。ロリポップから送信されるメールは、毎回違う送信サーバを通るようだ(どういう分け方をされいるか不明、単に負荷分散をしているだけかもしれない)。
自分が送信したメールのヘッダをちょっとみただけで、いくらでも出てくる。たとえば、
smtp033.phy.lolipop.jp
210.157.22.75
smtp034.phy.lolipop.jp
210.157.22.76
smtp035.phy.lolipop.jp
210.157.22.77
smtp310.phy.lolipop.jp
210.157.22.78
送信サーバ全部のIPアドレスを知りたい。
しかし、調べ方がわからなかったのでロリポップに問い合わせると、IPのレンジは予想以上に確保されていた(まさか公開してくれるとは思わなかった、感謝)。
全部使われているとは考えられないが、とりあえずこんな感じ:
112.78.119.173/32 (Webメール)
203.189.109.0/24 (users)
210.172.144.0/24 (送信サーバ)
210.157.22.0/25 (users)
これらがいつまでこの番号であるかは不明。
DNSのTXTの記述例
-------------------------------
v=spf1 +ip4:112.78.119.173 +ip4:203.189.109.0/24 +ip4:210.172.144.0/24 +ip4:210.157.22.0/25 +ip4:(新設専用サーバ) +ip6:(新設専用サーバ IPv6) ?all
-------------------------------
「v=spf1」で始める。
ロリポップ+カートの専用サーバのIPv4とIPv6のアドレスも追加して広範囲に送信用メールサーバを公認した記述にしている。
★最後の「all」前のQualifierの意味:
+ Pass 正当なメールとして配信される
- Fail 不当なメール(拒否される場合がある)
~ SoftFail 不当なメール(配信は行われる)
? Neutral SPF 指定がないものとして扱われる
(参考) AOLのAuthentication Report例
SPF check: pass
DomainKeys check: neutral
DKIM check: pass
Sender-ID check: pass
SpamAssassin check: ham
-------------------------------
SPF check details:
-------------------------------
Result: pass
ID(s) verified: smtp.mailfrom=★@aol.jp
DNS record(s):
aol.jp. SPF (no records)
aol.jp. 300 IN TXT "spf2.0/pra ptr:mx.aol.com ?all"
aol.jp. 300 IN TXT "v=spf1 ptr:mx.aol.com ?all"
75.143.12.64.in-addr.arpa. 3600 IN PTR omr-m01.mx.aol.com.
omr-m01.mx.aol.com. 3600 IN A 64.12.143.75
Networksolutionsでの設定方法
MANAGE ACCOUT → Edit DNS → (設定したいドメイン名を選択) →
Manage Advanced DNS Records → ココを開くと下記の項目が設定可能な画面になる
・IP Address (A Records)
・Mail Servers (MX Records)
・Host Aliases (CNAME Records)
・Text (TXT Records)
・Service (SRV Records)
このうち、Text (TXT Records)がSPFを設定する項目。
Edit Text records →
-------------------------------
@ (None) (ドメイン名) (v=spf1 +ip4:112.78.119.173・・・)
-------------------------------
Networksolutionsの画面での設定の意味がよくわからないが、「@ (None)」の行にこのSPFの記述を入れることが正しいらしい。
そうそうsaveしてもDNSの変更がインターネット内で反映されるまで、24時間とも36時間とも言われているが、早ければ10分程度で反映される(といって世界の隅々まで反映されているわけではない)。
しかし、不思議なことはNetworksolutionsの画面の反映も10分程度かかるので、知らないと「あれ、オレsaveしなかった?」と面食らう。
正しいSPF設定か? チェック方法
下記アドレスにメールを送る(空メールでOK)。返信メールにチェック結果が書かれている。なんて親切なサイトなんだろう。( http://www.espcoalition.org/senderid/ )
→ check-auth@verifier.port25.com
返信メールの例:
SPF check: pass
DomainKeys check: neutral
DKIM check: neutral
Sender-ID check: pass
SpamAssassin check: ham
SPF passでも、迷惑フォルダに送り込まれるgmail
SPF checkが「pass」となっている。これでSPFはOKのはずだが、gmailに送るとやはり迷惑フォルダに入れられた。gmailは、SPFも評価していると思われるが、単体では見ていないことは明白である。
今回は「迷惑フォルダ脱出方法」が見いだせなかったが、SPFの設定ができたので、投資した時間と労力はムダではなかったと思いたい。