web-dev-qa-db-ja.com

正しいSPFレコードを設定する方法

非常に基本的なSPFレコードをセットアップしようとしています。 Godaddyで自分のWebサイトをホストし、Goaddyの電子メールサーバーを使用しています。私はphp mail()コールを使用しています(知っている、使用する場所をたくさん読んだPHP Mailer、または他の人ですが、デフォルトのmail()関数を選択し、それは本当に私の質問ではありません)今、電子メールのspfレコードはneutralとして次の行で返されます:

Delivered-To: [email protected]
Received: by 10.52.171.166 with SMTP id av6csp133324vdc;
        Tue, 16 Jul 2013 07:43:23 -0700 (PDT)
X-Received: by 10.49.104.180 with SMTP id gf20mr2338989qeb.59.1373985802775;
        Tue, 16 Jul 2013 07:43:22 -0700 (PDT)
Return-Path: <[email protected]>
Received: from p3nlsmtp14.shr.prod.phx3.secureserver.net (p3nlsmtp14.shr.prod.phx3.secureserver.net. [72.167.234.239])
        by mx.google.com with ESMTP id d19si710455qey.143.2013.07.16.07.43.22
        for <[email protected]>;
        Tue, 16 Jul 2013 07:43:22 -0700 (PDT)
Received-SPF: neutral (google.com: 72.167.234.239 is neither permitted nor denied by best guess record for domain of [email protected]) client-ip=72.167.234.239;
Authentication-Results: mx.google.com;
       spf=neutral (google.com: 72.167.234.239 is neither permitted nor denied by best guess record for domain of [email protected]) [email protected]
Received: from P3NW8SHG339 ([184.168.27.44])
    by p3nlsmtp14.shr.prod.phx3.secureserver.net with 
    id 12jN1m0080x5yNo012jNyX; Tue, 16 Jul 2013 07:43:22 -0700
Date: Tue, 16 Jul 2013 07:43:21 -0700
Subject: Little Jaws Big Smiles Registration Confirmation
X-PHP-Originating-Id: [10610735]
To: "Person" <[email protected]>
From: "Little Jaws Big Smiles" <[email protected]>
Reply-To: "Little Jaws Big Smiles" <[email protected]>
Return-Path: "Little Jaws Big Smiles" <[email protected]>
Message-ID: <[email protected]>
X-Mailer: PHP/5.2.17
MIME-Version: 1.0
Content-type: text/html; charset=ISO-8859-1
Organization: Little Jaws Big Smiles

Ip 72.167.234.239p3nlsmtp14.shr.prod.phx3.secureserver.netに対応します。これは、メールサーバーが実際にメールを送信していると推測しています。

  • ドメインの実際のIPアドレスでA(ホスト)レコードを設定しています。
  • 提供されたデフォルトのCNAME(エイリアス)リストがあります
  • 提供された2つのMX(Mail Exchangerレコード)があります
    • mailstore1.secureserver.net
    • smtp.secureserver.net
  • 2つのデフォルトのネームサーバー設定があります
    • ns45.domaincontrol.com
    • ns46.domaincontrol.com
  • TXT SPFレコードを次のように設定しました(これはgodaddyが入力するため、引用符はありません):
    • v=spf1 a mx ptr ip4:72.167.234.245 -all

ただし、これでもSPFの結果は中立になります。レコードがアクションを起こすまで48時間待ちました。私は SPF Syntax も読んで、適切に設定したと思います(ただし、これを行ったことがないため、これを完全に誤解している可能性があります)

私も kitterman's 検証スクリプトを試しましたが、次の結果が得られました。

Found v=spf1 record for littlejawsbigsmiles.com: v=spf1 a mx ptr ip4:72.167.234.245 -all    
evaluating... SPF record passed validation test with pySPF (Python SPF library)!

誰かが私のレコード定義に問題があると思いますか、それとも他に何か欠けているのですか?

[email protected]からメールを送信しようとしています

他に情報が必要な場合はお知らせください。

Update@TheCleanerのリクエストに従って、私は Godaddysサイト の指示に従ってSPFレコードを作成しました。以下は、私が選択した手順とオプション、およびそれらを選択した理由です。

の下でSPFレコードを追加するには

  • 手順4:GoDaddy.com, LLC only を選択しました
    • サーバーを使用してメールを送信するだけです
  • ステップ5:All Inbound Servers May Send Mail を選択しました
    • これが私に当てはまるかどうかはわかりませんが、念のため選択しました
  • ステップ6:送信レコードを選択しませんでした。
    • 私のドメインはメールサーバーではありません
  • 手順7:PTRを選択しなかった
    • 私のドメインはメールサーバーではありません
  • ステップ8:72.167.234.0/24を追加しました。これは、Godaddyがメールの送信に使用するメールサーバーのようです。
  • Exclude all hosts not specified hereを追加した-allも追加しました

結果のSPFレコードは以下のとおりです。これで問題が解決した場合は、これを試してポストバックします。上記の私のステップに関する私の仮定が正しくない場合はお知らせください。

v=spf1 mx include:72.167.234.0/24 -all
3
SwDevMan81

それで、私は最終的に問題を追跡しました(godaddyの技術サポートは、彼らが「鋭い」問題を手伝うことができないと言っていました)。 SPFレコードに問題があることが判明しました。

どうやら新しいホスティングアカウントをセットアップすると、WindowsホストのデフォルトのC:\php5\php.iniファイルはsendmail_from[email protected]に設定します。これは、phpのmail()を使用して送信したメールの実際の送信アドレスです関数。これを[email protected]に変更して、問題の解決に少し近づきました。

さて、私が抱えていた2番目の問題が原因で、SPFは引き続き失敗していました。 Godaddysのデフォルトinclude:spf.secureserver.netでSPFレコードを作成すると、ルックアップが多すぎることがわかります。 this SPF Parser を使用してこれを確認し、spf.secureserver.netと入力します。ルックアップが最大10回よりもはるかに多いことがわかります。

Kitterman's 検証スクリプトを使用して、spf.secureserver.netと入力すると、エラーPermError SPF Permanent Error: Too many DNS lookupsが表示されることがわかります。これはGodaddyが(私のサイトだけでなく)グローバルに解決する必要がある問題です。問題は their site に文書化されています。私は彼らから彼らの問題ではないことを示す応答を受け取りました:

また、SPFレコードを作成する機能も提供していますが、管理とセットアップの責任はお客様の責任のみです。

メールヘッダーを確認し、送信元のサーバーを見つけることで、この問題を回避することができました(範囲72.167.234.236-245のようです)。上記でリンクしたSPFパーサーを使用して、自分のサイトがspf102.secureserver.netを使用しているようだと判断できました。これが私のサイトで変更されるかどうかはわかりませんが、ゴダディはまだ答えを教えてくれません。 SPFレコードを変更してspf102.secureserver.netを含めるように変更しましたが、これにはToo many DNS lookupsの問題はありませんが、メールを変更して、たとえばspf101.secureserver.netから送信できる場合は問題になる可能性があります。

最終的な作業記録は、電子メールの送信に使用されるサーバーに基づいていますが、Goaddysサーバーでホストされ、使用されている場合は、次のようになります。

v=spf1 mx include:spf102.secureserver.net -all

これらの2つの更新により、googleおよびhotmailのメールアカウントにメールを送信でき、スパム/ジャンクフォルダーに移動しなくなりました(そうです!)

@ MadHatter、@ gparent、@ TheCleanerがこれを追跡してくれたことに感謝します。

3
SwDevMan81

SPFレコードに間違ったIPアドレスを入力しました。

現在のレコードは次のとおりです。

littlejawsbigsmiles.com. 3600   IN      TXT     "v=spf1 a mx ptr ip4:72.167.234.245 -all"

これは、送信元のIPです。

72.167.234.239

72.167.234.245とは明らかに異なります。

間違いがないようにレコードを修正し、すべてが正常に機能するようにします。

アドレス範囲全体を含めるには、次を使用します。

"v=spf1 mx ip4:72.167.234.0/24 -all"

ちなみに、GoDaddyはSPFレコードを設定する方法に関するKB記事を提供しています: http://support.godaddy.com/help/article/7926/adding-or-editing-spf-records =

4
gparent