イデアール株式会社 コンピュータ ネットワークシステム 大阪市/大阪  
イデアール総合TOP    ・不動産/売買/賃貸    ・建築・設計    ・自社サーバー・SEO対策・コンピュータシステム    ・呉服・着物・卸し    ・着物買取
メインメニュー
検索
ITコンピューターシステムのサイト内検索

高度な検索
トップ  >  サーバー関連  >  迷惑メール処理されてしまう。(SPFレコード・OP25B)
先日、Yahooオークションで出品者からのメールがYahoo Mailで受信できないトラブルがありました。
出品者から迷惑メールBOXに入る可能性がある旨を各ページ訴えてるのですが迷惑メールBOXにもありません。
唯一届いたメール(もちろん迷惑BOXに入りました)を検証したらSPF設定がされてませんでした。
これが今回の原因かどうか判断は難しいところですが、迷惑メールに入る可能性としてはSPFレコードが大きなウェイトを占めるので
解決策を書いてみたいと思います。

メールが届かない外的要因は色々とありますが、ブロックされる要因として
・OP25B(Outbound Port 25 Blockingの略)でメールをブロックされてる
・SPF(Sender Policy Frameworkの略)レコードでフィルタリングされてる
等が考えられます。

OP25Bは昔話題になり設定方法は確立されてるので今更説明も必要ないでしょう

SPFは簡単に言うとドメイン詐称を検証するシステムで
なりすまし等をフィルタリングしてスパム減らそうとする方法のひとつです。
SPFについては詳しく説明されてるサイトが多数御座います。
私はSPFの専門家でもないので詳細は割愛させて頂き設定方法のみ簡単に説明してみます。

Yahoo!メールを例に話を進めると
[Received-SPF:pass (...]となれば認証成功正常なメールとして扱われるので
DNS設定で自ドメインを登録すれば良いだけのことです。

固定IPをお使いの場合は
idal.jp IN TXT "v=spf1 a:idal.jp ~all"
又は
idal.jp IN TXT "v=spf1 ip4:サーバーのIPアドレス ~all"
と記述して 
Received-SPF:passとなれば正常です。

上記の記事は検索すれば多々詳しく説明されてるサイトがありますので、そちらを参照ください。
変動IP・SMTPリレーでのSPF設定方法が検索しても見つからなかったので、以下が本題です。

OP25Bの影響で代替ポート587を設定して他社のSMTPにリレーしている変動IPを使ってるメールサーバーの場合や
固定IPサーバーでも他のIPにリレーしている場合は
Received:情報を追記しておく必要があります。

Received:情報が不足してるとpass認証されないでReceived-SPF:softfail等として扱われますので
記述方法を
idal.jp IN TXT "v=spf1 a:リレー先のsmtpドメイン a:idal.jp ~all"
又は
idal.jp IN TXT "v=spf1 ip4:リレー先IPアドレス ip4:サーバーのIPアドレス ~all"
のような感じで検証されるReceived:情報に入ってるドメイン(又はIP)を順に総て追記していきます。

SPFレコードのウィザードを使ってSPFレコード作成するのも良いと思います。

認証が一致すれば、Received-SPF:passとして認証されます。
末尾の~allを追記するのは何らかのシステム変化でpass認証されなくてもsoftfailで認証できるようにするためです。

記述に間違いがあるとpassになりませんので実際の例を少々...
20010.01.01現在の例

OCNにリレーしてる場合
v=spf1 a include:spf.ocn.ne.jp a:自社ドメイン ~all
又は
v=spf1 a:smtp.tune.ocn.ne.jp a:自社ドメイン ~all

@Niftyにリレーしてる場合はSMTPが複数ありますので
v=spf1 include:spf-01.nifty.com include:spf-02.nifty.com include:spf-03.nifty.com include:spf-04.nifty.com include:自社ドメイン ~all
又は
v=spf1 a:spf-01.nifty.com a:spf-02.nifty.com a:spf-03.nifty.com a:spf-04.nifty.com a:自社ドメイン ~all

aとincludeでは以下のような違いがあるそうです。
設定環境に応じて使い分けてください。
a:ドメインスペック=ドメインスペックに指定されたホスト名のAレコードにマッチする
include:ドメインスペック=ドメインスペックに指定されたドメインのSPFレコードを読み出しチェックを実施する
そうです。

バーチャルドメインを複数使ってメールを使い分けてる場合は
ドメイン単位でspf設定が必要です。

spfをDNS登録して反映されるまで数分〜数時間掛かります。
気長に待って確認しましょう

最後に各ステータスコードは次のとおりです。
どのコードが拒否されるかは受信者側の設定に依存します。
Received-SPF:pass 認証できた
Received-SPF:neutral SPFコード?と一致
Received-SPF:softfail SPFコード~と一致
Received-SPF:none SPFコードが設定されてない(又は記述エラー)
Received-SPF:fail 認証に失敗

OCNのReceived-SPF:公開情報は
pass:成功‐送信ドメインの正当性が認証された正しい送信元から送信されたメールである。
fail:失敗‐送信ドメインは詐称されている。
softfail:失敗‐送信ドメインは詐称されている可能性がある。failに比べると正当性が高い。
neutral:不可能‐送信ドメインの正当性を判断できない。
temperror:不可能‐認証処理に一時的な障害が発生している。
permerror:不可能‐公表されたSPFレコードの解釈が出来ない。
none:存在しない-送信ドメインの認証情報が公開されていない為、認証が出来ない。


※ドメイン/IP部分は各環境に読み替えてください。

※記述方法は各DNSによって異なりますので各サーバーの設定方法等を参照下さい。

引用先参照サイト:Sender ID:送信者側の設定作業

カテゴリートップ
サーバー関連
次
Received-SPF:none メールが届かない原因を追跡調査
    256bit - 128bit Security SSL 大阪府大阪市阿倍野区阪南町2丁目30-18<
イデアール株式会社 ITシステム事業部
TEL 06-6626-6677
Copyright (C) 2009 IDEAL Corporation. All Rights Reserved.