2011-12-14 5 views
1

私は自分のレールアプリケーションからメールを送信していますが、何らかの理由でSPFが通過することはありません。送信者ポリシーフレームワーク(SPF)を通過させるにはどうすればよいですか?

私は順方向と逆方向のDNSをセットアップしました(私は正しいと思います)。私はガイドhereには役に立たなかった。良いことは、私のメールがスパムに終わらないということですが、私には十分ではありません。私はSPFを通過させたいのです。誰かが私を助けることができればそれは高く評価されるだろう。

ホスト名をmail.example.comに設定しました。私は逆DNSを同じものに設定しています。しかし、私がメールを送るときは[email protected]からではなく、[email protected]から来たいと思っています。私が[email protected]から電子メールを送信すると中立的なSPFが得られますが、[email protected]に変更すると失敗します。私が理解していることは、それがまだFQDNから来ていれば、合格しなければならないということです。

これらは私のDNSレコードです:

A = mail xxx.xxx.xxx.xxx 
A = example. xxx.xxx.xxx.xxx 
A = www xxx.xxx.xxx.xxx 
MX = example. mailstore1.secureserver.net. 
MX = example. smtp.secureserver.net. 
MX = example. mail.example.com. 
TXT = v=spf1 mx include:mail.example.com -all. 

は、最初の2つのMXレコードはGoDaddyはからですが、私はSlicehostのでサイトをホスティングしています。また、私はCNAMEとNSレコードのカップルを持っていますが、私は役に立つとは思っていません。

私はUbuntuの上でのPostfixを使用し、3

任意のアイデアをレールてる?

UPDATE:ここ は私の失敗したメールの1のヘッダである

Delivered-To: [email protected] 
Received: by 10.229.49.65 with SMTP id u1cs60507qcf; 
     Mon, 12 Dec 2011 19:20:11 -0800 (PST) 
Received: by 10.42.150.135 with SMTP id a7mr13973149icw.53.1323746409644; 
     Mon, 12 Dec 2011 19:20:09 -0800 (PST) 
Return-Path: <[email protected]> 
Received: from mail.example.com ([xxx.xxx.xxx.xxx]) 
     by mx.google.com with ESMTP id y15si2866827ibk.138.2011.12.12.19.20.09; 
     Mon, 12 Dec 2011 19:20:09 -0800 (PST) 
Received-SPF: fail (google.com: domain of [email protected] does not designate xxx.xxx.xxx.xxx as permitted sender) client-ip=xxx.xxx.xxx.xxx; 
Authentication-Results: mx.google.com; spf=hardfail (google.com: domain of [email protected] does not designate xxx.xxx.xxx.xxx as permitted sender) [email protected] 
Received: from localhost.localdomain (localhost [127.0.0.1]) 
    by mail.example.com (Postfix) with ESMTP id B6BB31C1F5D 
    for <[email protected]>; Tue, 13 Dec 2011 03:20:08 +0000 (UTC) 
Date: Tue, 13 Dec 2011 03:20:08 +0000 
From: Example <[email protected]> 
To: [email protected] 
Message-ID: <[email protected]> 
Subject: Password Reset 
Mime-Version: 1.0 
Content-Type: text/html; 
charset=UTF-8 
Content-Transfer-Encoding: 7bit 

SOLUTION:SPFレコードの周り 入れ相場、鉱山は、次のようになります。

TXT = "v=spf1 mx include:mail.example.com -all" 
+0

SPFレコードを添付したドメイン名とは何ですか? mail.example.comまたはexample.com? –

+0

mydomain.comのTXTレコードセット。 – GiH

+0

あなたはどのようにチェックしますか?SPFは通過しているかどうか? –

答えて

3

コメントに基づく要約:
引用符は、TXTの内容コード。スペースはセパレータとしてカウントされます。 v = spf1 -all(引用符がないことに注意)は、単一のアトム "v = spf1 -all"の代わりに2つのアトム "v = spf1" "-all"を生成するDNSユーザーインターフェイスを満たしています。後者のみが動作します。

あなたのSPFレコードが台無しです。 「インクルード」はリダイレクトです。あなたはexample.comのSPFレコードがmail.example.comのSPFレコードであり、あなたの質問に基づいて、これはあなたが望むものではないと言います。質問にはすべての関連するDNS情報(MX、A、TXT、SPF)を含める必要があります。次のようなもの:

 
example.com. IN TXT "v=spf1 include:example.net -all" 
example.net. IN TXT "v=spf1 mx -all" 
+0

私はそこにインクルードを入れました。それがなければ、何があっても失敗に終わったからです。より多くのDNS情報を含めるために自分の投稿を更新しました。十分なものか、探しているものがあるかどうかを教えてください。 – GiH

+0

あなたのドメインの名前で*メールを送る*ために使用されるサーバーはどれですか?エンベロープ内のドメインを本当にreverse-path([email protected])として指定してもよろしいですか?さらに、メールサーバーが正しいHELO名、特にmail.example.comで自分自身を識別していることを確認してください。たとえば、gmailが受け取ったメールのヘッダーを含めることができます。 Return-PathとReceived-SPFヘッダーに興味があります。 (実際の会社であるため、私はあなたのサンプルドメインmydomainをタイプすることに躊躇しています。) –

+1

もう一つのこと:引用符はTXTレコードの内容で重要です。スペースはセパレータとしてカウントされます。 v = spf1 -all(引用符がないことに注意)は、単一のアトム "v = spf1 -all"の代わりに2つのアトム "v = spf1" "-all"を生成するDNSユーザーインターフェイスを満たしています。 –

関連する問題