ネットショップ運営者必見?迷惑メール扱いを回避する手順
つい最近ネットショップ運営の方から相談を受けた案件ですが、飯の種として解決方法のエッセンスを公開しておこうと思います。今回いただいた要件は概ね下記の通りでした。
以前に書いた「メール送信者認証技術 SPF/Sender ID についてお勉強」でも Yahoo! メールの迷惑メール判定でメールが迷惑メールフォルダへ格納される理由について説明しましたが、今回の Yahoo! メールへ届かないという不都合は、迷惑メールフォルダへ格納されて顧客が気がつかないというパターンだと疑いました。
まずはクライアントのシステムからいつも通りに僕の Yahoo! メールのアカウントに対してメールを送信して貰いました。案の定迷惑メールフォルダへ格納されるパターンであることが確認できました。多くのユーザにとっては迷惑メールフォルダなんて確認をしないので、=(イコール)届いていないと同義になるわけですね。
運営者側でできるスパムメール扱いを回避対策
今時のスパムメール扱いのフィルターアルゴリズムについて詳細な調査をしたわけではありませんが、運営者側でできる努力分としては次の5点が考えられます。このエントリでは 1, 2 の項目に関しての手順は割愛致します。
- メールサーバにグローバルな IP アドレスを割り当て DNS の逆引き設定する
- 不正なオープンリレーを許可しない設定にする(テストは第三者中継チェック RBL.JPでチェック)
- SPF(Sender Policy Framework)を設定する
- DKIM による電子署名を付与する
- 上記対策を施した上で、Yahoo! なりメール受信先の運営者にスパム扱いの解除申請を行う
手順:まずはスパム初回されているメールヘッダーを解析して現状を知る
まずは現状のメールヘッダーの解析から上記のポイントをいくつクリアしているかを調査します。
ちょうど自宅サーバから sakura VPS へ移行した app.drk7.jp がいろいろと未設定だったので良いサンプルになりました。テストメールを送ったところ、DNS 逆引き設定済み、リレー設定は接続拒否で設定済み。SPF、DKIM は未設定という結果でした。今回調査依頼のあった顧客の解析結果もほぼ同様の内容でした。
From root Mon Jul 16 14:18:12 2012 X-Apparently-To: drk7jp@yahoo.co.jp via 114.111.99.147; Mon, 16 Jul 2012 14:18:13 +0900 Return-Path:X-YahooFilteredBulk: 49.212.136.44 X-Originating-IP: [49.212.136.44] Received-SPF: none (www8030uf.sakura.ne.jp: domain of root@www8030uf.sakura.ne.jp does not designate permitted sender hosts) Authentication-Results: mta590.mail.kks.yahoo.co.jp from=www8030uf.sakura.ne.jp; domainkeys=neutral (no sig); dkim=neutral (no sig) header.i=@www8030uf.sakura.ne.jp Received: from 49.212.136.44 (EHLO www8030uf.sakura.ne.jp) (49.212.136.44) by mta590.mail.kks.yahoo.co.jp with SMTP; Mon, 16 Jul 2012 14:18:13 +0900 Received: from www8030uf.sakura.ne.jp (localhost.localdomain [127.0.0.1]) by www8030uf.sakura.ne.jp (8.13.8/8.13.8) with ESMTP id q6G5IDU0002272 for ; Mon, 16 Jul 2012 14:18:13 +0900 Received: (from root@localhost) by www8030uf.sakura.ne.jp (8.13.8/8.13.8/Submit) id q6G5ICAe002271 for drk7jp@yahoo.co.jp; Mon, 16 Jul 2012 14:18:12 +0900 Date: Mon, 16 Jul 2012 14:18:12 +0900 From: root Message-Id: <201207160518.q6G5ICAe002271@www8030uf.sakura.ne.jp> To: drk7jp@yahoo.co.jp Subject: test Content-Length: 5
手順:SPF(Sender Policy Framework)を設定する
対応としてまず簡単なのは SPF の設定です。以前に解説した「メール送信者認証技術 SPF/Sender ID についてお勉強」を参考に設定を行います。実例として、app.drk7.jp の DNS レコードの追加設定として以下の変更を加えています。意味合いとしては、IP アドレス 49.212.136.44(ドメインとしては www8030uf.sakura.ne.jp )から送信するメールも正規のサーバーから送られたものだよって内容のものです。
変更前 txt @ v=spf1 include:aspmx.googlemail.com ~all ↓ 変更後 txt @ v=spf1 include:aspmx.googlemail.com a:www8030uf.sakura.ne.jp ip4:49.212.136.44 ~all
DNS の設定内容が伝搬したかを確かめるには次のコマンドで確認することができます。
nslookup -q=txt ドメイン名
実行結果の例はこんな感じです。
[drk@www3443uf ~]$ nslookup -q=txt app.drk7.jp Server: 210.224.163.4 Address: 210.224.163.4#53 Non-authoritative answer: app.drk7.jp text = "v=spf1 include:aspmx.googlemail.com a:www8030uf.sakura.ne.jp ip4:49.212.136.44 ~all" Authoritative answers can be found from:
DNS の変更内容が伝搬すると、送信メールのヘッダー情報が下記のように Received-SPF: pass と表示されているはずです。これで問題は一つ解決です。
・・・略・・・ Received-SPF: pass (google.com: best guess record for domain of root@www8030uf.sakura.ne.jp designates 49.212.136.44 as permitted sender) client-ip=49.212.136.44; ・・・略・・・
手順:DKIM による電子署名を付与する
次に DKIM 電子著名を付与する設定にチャレンジします。DKIM は電子署名ベースの送信ドメイン認証で送信されたメールが正しい送信元であることを証明するための技術になります。スパムメール判定回避の対策としてやっておいて損はないでしょう。また SPF と DKIM の両方に対応しておく意義については BIGLOBE の解説がわかりやすいので引用しておきます。
「SPF」では、送信サーバのIPアドレスに基づいて認証を行うため、送信サーバと転送サーバが異なる転送メールは正しく認証できませんが、「DKIM」では、電子署名に基づいて認証を行うことで、転送メールについても正しく認証できます。
また、メーリングリストのメールについて、「DKIM」ではSubjectに文字列が挿入されるため正しく認証できませんが、「SPF」では、IPアドレスに基づいて認証を行うのでメーリングリストのメールであっても正しく認証できます。
このように、「SPF」と「DKIM」の2つの方式を採用することでより精度の高い送信ドメイン認証を実現することが可能となるのです。
実際の DKIM 電子署名対応についての作業手順については、一つ前のエントリ「さくら VPS に dkim-milter をインストールして DKIM 対応する」を参考に設定を行ってください。
作業が完了したら、DKIM 電子署名が付与されたメールを Yahoo! メール宛に送信してメールヘッダーを確認してみます。この時点ではまだ迷惑メールフォルダに格納されるか受信フォルダに格納されるか保証できません。複数ドメインでいくつ確認してみたところ、ここまでの対策で受信箱で受信されるようになったドメインと、変わらず迷惑メールフォルダで受信されてしまうドメインが存在しました。
下記画面キャプチャは無事に受信箱で受信されるようになった実例です。発信元「app.drk7.jp」と電子署名の付与が確認できるようになりました。
受信箱で受信されるようになったメールを指定して詳細ヘッダーを表示して確認してみてます。サーバ側のログで DKIM 電子署名付与が確認されたように、dkim=pass (ok)が表示されていることが確認できました。
From drk@www8030uf.sakura.ne.jp Wed Aug 15 00:07:53 2012 X-Apparently-To: drk7jp@yahoo.co.jp via 114.111.99.145; Wed, 15 Aug 2012 00:08:41 +0900 Return-Path:X-Originating-IP: [49.212.136.44] Received-SPF: pass (localhost.localdomain: domain of drk@www8030uf.sakura.ne.jp designates 49.212.136.44 as permitted sender) receiver=localhost.localdomain; client-ip=49.212.136.44; envelope-from=drk@www8030uf.sakura.ne.jp; Authentication-Results: mta593.mail.kks.yahoo.co.jp from=www8030uf.sakura.ne.jp; domainkeys=neutral (no sig); dkim=pass (ok) header.i=@www8030uf.sakura.ne.jp Received: from 49.212.136.44 (EHLO localhost.localdomain) (49.212.136.44) by mta593.mail.kks.yahoo.co.jp with SMTP; Wed, 15 Aug 2012 00:08:41 +0900 Received: from www8030uf.sakura.ne.jp (localhost.localdomain [127.0.0.1]) by localhost.localdomain (8.13.8/8.13.8) with SMTP id q7EF7rPw020673 for drk7jp@yahoo.co.jp; Wed, 15 Aug 2012 00:08:28 +0900 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=www8030uf.sakura.ne.jp; s=sapp_drk7_jp; t=1344956921; bh=TJnoB+ZgA8hH5kDk0sHkyILr0qoHt1QABzXsd9yItT4=; h=From; b=WhQn2VRHpv8uAL/0DceSax2FX2oqwLsg2IajHTWu3j7EoXl6tDwnmT90X/3bVodeP V15Ek7chV5nm5y8S5hVIvA0NvpEQTBejFrKsNqh38IPViRDy7O3JKq92fkf7MQLpxc 9dMCQzJNBB+xwMJKJV/PO9HDqRTwIRIb7lI3KsbY= Date: Wed, 15 Aug 2012 00:07:53 +0900 Message-Id: <201208141508.q7EF7rPw020673@localhost.localdomain> From: drk@www8030uf.sakura.ne.jp Subjet: test Content-Length: 13
メール受信先の運営者にスパム扱いの解除申請を行う(Yahoo!メール編)
前述のとおり残念ながら、ここまでの努力を行ったにも関わらず迷惑メールフォルダへ格納されてしまうケースもあります。そのような場合には、Yahoo! ヘルプページ最下部の「まだ解決していません。問い合わせします。」から問い合わせを行います。メールの詳細ヘッダーの内容を添えつつ、迷惑メール判定解除を依頼しましょう。
以上で、Yahoo! メールを筆頭にスパムメール扱いされる不都合を回避する手順の説明はお終いです。ただし前のエントリでも最後に書いたとおり、ここに示した手順が全てではありません。外部のメールクライアントから SMTP に接続して送信するメールにも DKIM 電子署名を付与したい、gmail を MX に設定しているんだけど DKIM 電子署名を付与したい。など様々な要件が他にも考えられます。
スパムメール扱いされていて困っている運営者の方々で、お困りのことございましたらお気軽にご相談いただければ幸いです。
コメントやシェアをお願いします!