web-dev-qa-db-ja.com

CloudFlareでSPF / DKIMレコードを設定する

SPFレコードを設定する正しい方法は何ですか?

TXTを使用して、次を追加しますか?

v=spf1 a mx include:mydomain.tld ~all

更新:

以下を使用した後:

v=spf1 a mx ~all

私はこれを得る:

Received-SPF: temperror (google.com: error in processing during lookup of [email protected]: DNS timeout) client-ip=x.x.218.7;
Authentication-Results: mx.google.com; spf=temperror (google.com: error in processing during lookup of [email protected]: DNS timeout) [email protected]
Received: from PHPUSERNAME by SERVER.MYDOMAIN.TLD with local (Exim 4.77)
(envelope-from <[email protected]>)
id xxxxxxxxxxxxxxxx
for [email protected];
2
Tiffany Walker

Www.openspf.orgをまだ見つけていない場合は、すばらしいリソースです。 SPFと送信者IDのトピックに注意してください。ダウンとダーティについては http://www.openspf.org/SPF_Record_Syntax をチェックしてください。

独自のメールサーバーをホストしていて、MXレコードが唯一の送信サーバーを構成している場合は、「mx」メカニズムだけで済ませることができます。

メールにホスト型サービス(Google Appsなど)を使用している場合、または内部SMTPサーバーからSendGridなどのサービスに送信メールを転送している場合は、それらのサービスで特定のSPF構成手順を確認してください。

SPF、メカニズム、および修飾子のより良い説明を追加するために編集

SPFの使用をサポートするメール交換は、電子メールを受信すると、送信者のドメイン([email protected])とメッセージを送信したサーバーのIPアドレスを調べます。問題は、そのIPアドレスには、送信者のドメイン(sendingdomain.tld)に代わって電子メールを送信する権限がありますか?

この質問に答えるために、サーバーは、意図されたドメイン(sendingdomain.tld)からSPFレコード(DNS TXTレコードとして保存))を取得し、送信サーバーのIPアドレスをそのSPFレコードと照合します。

SPFはメカニズムを使用して、電子メールの有効な送信サーバーのリストを作成します。各メカニズムは、+、-、〜、または?で修飾できます。プレフィックス(この情報は OpenSPF から取得されました:

「+」は合格(または有効)を意味します-注:これはデフォルトのアクションです
「-」は失敗(または無効)を意味します
「〜」はソフトフェイルを意味します(多くのサーバーではニュートラルとして扱われます)
'?'ニュートラルを意味します(有効性は確認も拒否もされません)

レコードが評価されているとき、それは最初のメカニズムに一致します左から右へ。一致するメカニズムがない場合、デフォルトの結果はneutralです。

一般に、「すべて」のメカニズムはすべてに一致するため、...

「+ All」メカニズムは、すべてのサーバーがこのドメインの有効な送信者であることを意味します(このオプションは使用しないでください)。

「-All」メカニズムは、すべての送信サーバーに失敗します。これをSPFレコードの最後で使用して、neutralのデフォルトの結果をfailの結果でオーバーライドします。一部のサービス(Googleなど)はこれに対して警告しますが、私はまだ問題に遭遇していません。

「〜All」および「?All」メカニズムは、「送信サーバーがリストされている有効なサーバーのいずれとも一致しない場合でも、心配する必要はありません」と言うのと同じです。これらは、SPFレコードのテストにのみ使用してください。

メカニズムの完全なリストについては、 OpenSPFのレコード構文 ページを参照してください。

ここで説明したいもう1つのメカニズムは、「include:<domain>」です。このメカニズムは、SPFレコードを解析するサーバーに、<ドメイン>によってホストされる別のSPFレコードで指定された追加のメカニズムを含めるように指示します。

例:

ドメインが送受信に同じサーバー(同じIPアドレスなど)を使用している場合:

  • v = spf1 mx –all
  • 上記は、v = spf1 + mx –allと同等です。

Google Appsを使用してメールをホストしているが、自動メッセージに内部SMTPサーバーを使用している場合:

  • v = spf1 ip:<内部サーバーのIPアドレス> include:_spf.google.com -all

DKIMはすべて一緒に別の獣です。ホスト型メールサービスを使用している場合は、そのサービスで手順を確認してください。独自のメール交換をホストしている場合は、サーバーソフトウェアのドキュメントを確認して、その実装方法を確認してください。この質問の範囲を少し超えています。

8
Matthew Johnson