web-dev-qa-db-ja.com

DMARCの別の送信者(Sendgridなど)をホワイトリストに登録するにはどうすればよいですか?

私たちは独自の電子メールをホストしますが、Sendgridを使用して、いくつかの内部PHPサービスではメール設定を簡単に処理できない)に代わってメールを送信します(たとえば、デフォルトでは自己署名証明書を許可しません)。ですから、サーバーに接続してアカウントアクティベーションメールのようなものを送信することは、CMSの機能をハックして一連の構成オーバーライドを渡す必要があるという点で、PITAです。私はそれと一体であると思い、Sendgridの無料枠を使用しました)。

Sendgridが私たちに代わってメールを送信することを明示的に許可するようにSPFを設定することができました。

_ourdomain.com. IN TXT "v=spf1 mx a ip4:OUR.IP.GOES.HERE/32 include:sendgrid.net -all"_

そして、SPFとDKIMの両方を通過するために、私たちが送信するメールとSendgridが送信するメールの両方に並列パスがあります。 (私は自分でDKIMをセットアップするために特別なことは何もしませんでしたが、それは少しのプロセスでした-FWIW、 これが私が従ったチュートリアルです 。)

しかし、今はすべてをDMARCでラップしたいと思います。Sendgridのメールは、SPFとDKIMを通過しても失敗します。

Authentication-Results: mx.google.com; dkim=pass [email protected] header.s=smtpapi header.b=eI2rawkZ; spf=pass (google.com: domain of [email protected] designates SENDGRID.IP.GOES.HERE as permitted sender) smtp.mailfrom="[email protected]"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ourdomain.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sendgrid.net; h=from:subject:content-type:content-transfer-encoding:mime-version: x-feedback-id:to; s=smtpapi; bh=AZ+8LE7VkXTKxox/rLn7opOhEWv+baJWKr9E5fUOSKs=; b=eI2rawkZeMvtcJXThu7pufwbVPjRHa5xx46txJj0j9gNNDxNs68y8bcPlj1T9r7rxDK4 oi6e19GMvtdyttXR5WKjg2T+w0p5Ep3Ni6YRQhxq4ZsGcO0mZiRXyNf4BdZ3cOgLKXwECh dMSOaHyK0lR91Xp6eTnOYE7bT9hcRVrWA=

私たちから送信された電子メールは通過しています:

Authentication-Results: mx.google.com; dkim=pass [email protected] header.s=default header.b=fySBSueO; spf=pass (google.com: domain of [email protected] designates OUR.IP.GOES.HERE as permitted sender) [email protected]; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ourdomain.com

DMARCレコードは次のように設定されています。

__dmarc.ourdomain.com. 299 IN TXT "v=DMARC1\; p=none\; pct=100\; rua=mailto:[email protected]"_

Sendgridの電子メールがDMARCチェックに合格できるようにDNS(またはその他の何か)を調整する方法はありますか?次に、推奨される「p」アクションを「検疫」または「拒否」に安全に引き上げることができます。しかし、それが私たちの評判を大きく損なうことにならない場合は、「なし」のままにしておくことができます。 SPF/DKIM/DMARCの旅に出る前に、 私が抱えていた困難 に続いて、すべてをきちんと結び付けておくのはいいことです。

1
Will Matheson

したがって、これは間違いなくSendgrid専用です。プロセスは、使用しようとしている特定のサードパーティの電子メール送信者によって異なります。そしてSendgridでさえ、そのUIを変更する可能性があります。

  1. App.sendgrid.comにアクセスする
  2. [設定]> [送信者認証]に移動します
  3. 「ドメインの認証」ボタンをクリックします。
  4. DNSホストを接続します。私の場合、それは間違いなくリストにないので、「Other Host」を選択してそれを入力するだけです。また、ブランディングリンクには入りません。自動アカウント管理の電子メールのリンクに問題がないかどうかは関係ありません。 URLの「sendgrid」。
  5. 送信元のドメインを入力し、[自動セキュリティ]と[カスタムDKIMセレクターを使用する]をオンにします。 [私はこのプロセスをカスタムセレクターを使用して試していないではないことを認めなければなりません。ほとんどの電子メールは自分のサーバーから送信し、既存の設定を台無しにしてしまうのではないかと心配していました。] DIKMセレクターについては、Sendgridの「sg」など、使用していないものを作成します。
  6. 次のように、DNSに追加する一連のCNAMEレコードが与えられます。

Sendgrid: Install DNS Records

  1. それらが追加されたら(提案されたレコードへのアクセスを第三者に与える必要がある場合は、「同僚に送信」を使用できます)、[確認]をクリックします。送信者認証ページで確認ステータスを確認することもできます。私の場合、最初は部分的にしか機能しませんでした。3つのレコードすべてを正常に検証するには、1日以上かかりました。実際に手動で確認する必要もあります。少なくとも私にとっては、最終的に機能したのは、1日ほど後に手動で試すことでした。

  2. サーバーから送信された電子メールとSendgridによっての両方でSPF、DKIM、DMARCが機能することを確認してください!必要に応じて、シャンパンをポップします。そうでない場合は、次の危機に進みます。

0
Will Matheson

DKIMはd=sendgrid.netエンベロープ送信者で署名します。つまり、Return-Path[email protected]です。 DKIMとSPFの両方の検証でsendgrid.comが使用されているため、ドメインと一致していませんDMARCの要件ですアライメント

幸いにも、Sendgridはカスタム ドメイン認証 を、カスタム DKIMセレクター とカスタム return path の両方でサポートしています。

しかし、それが私たちの評判を大きく損なうことにならない場合は、「なし」のままにしておくことができます。

DMARCは、評判を上げることではありません。これは、Fromヘッダーで他のユーザーがドメインを使用できないようにするためのものであり、悪い評判につながる可能性があります

2
Esa Jokinen