web-dev-qa-db-ja.com

Gmail SMTPサーバーを使用しているが、DMARC p = rejectがドメインに設定されている

VPSサーバーでホストされているWebサイトがあります。ドメインが設定されているため、受信メールは引き続きVPSサーバーでもホストされます。 Gmailの送信IPレピュテーションははるかに信頼性が高いため、使用しているSMTPサーバーはGmailを除き、受信者はスパムフォルダーに移動せずにメールを受信する可能性が高くなります。

最近、p = rejectのDMARCポリシーを実装しましたが、これを行うと、受信側のメールサーバーがアライメントに失敗するため、これらの電子メールを拒否してバウンスすることに気付きました。

これに対する回避策はありますか? Gmail SMTPサーバーを使用している場合、DMARCを渡す方法はありますか?

2
Yagami

これはあなたの問題です:

最近、p = rejectのDMARCポリシーを実装しました

すべてが期待どおりに機能することを確認できるまで、テストにそれほど厳格でない規則を使用します。このようなものは、問題の電子メールレポートを提供するので、修正する必要があることがわかります。

v=DMARC1; p=none; rua=mailto:[email protected];

オンラインDMARCポリシージェネレーターを使用してポリシーを作成します。作成する各ステップについて説明します。私は https://dmarcian.com/dmarc-record-wizard/ にあるものを使用してお勧めします(所属なし、無料で使いやすいのが好きです)。

すべてをテストし、機能させたら、より強力なポリシーに戻すことができます。たとえば、ドメインでv=DMARC1; p=reject; adkim=s; aspf=s;を使用していますが、これは非常に厳密であり、問​​題がある場合にエラーレポートを生成しません。必要なすべてのDNSレコードがテストされ、機能していれば、非常にうまく機能します。

2
Tom Brossman

DMARCを渡すと、実際にはSPFまたはDKIM(できれば両方)をheader.fromドメインに合わせて渡すことになります。

SPFは、Google経由で中継する前に、通常はSMTPサーバーで設定されているリターンパスアドレスで使用されているドメインでチェックされます。 header.fromと同じかもしれませんが、必ずしもそうではありません。

リターンパスアドレスでドメインを制御する場合、GoogleのSMTPサーバーを含むSPFレコードを設定する必要があります。 GSuiteユーザーは、include:_spf.google.comの後、かつv=spf1または~allの前のどこかに-allを追加する必要があります。ただし、追加するとSPFレコードに4つのDNSルックアップが追加されるため、注意してください。 GoogleのSMTPサービス経由でのみメールを送信する場合、SPFレコードは次のようになります。

v=spf1 include:_spf.google.com ~all

異なるサービスの使用を開始するときは、必ず編集してください。

さらに、SMTPサーバーにDKIM署名を追加して、GoogleのSMTPサーバー経由でルーティングされる前にメッセージに署名することもできます。 DKIMは、header.dヘッダーのドメインでチェックされます。これは、送信ドメインと一致する必要があります。

トムが指摘したように、rua:タグをDMARCポリシーに追加して、ドメインの使用と不正使用に関するレポートを受け取ることができます。テストメッセージのヘッダーを確認して、return-pathと、オプションでDKIM署名情報を確認できます。

1
Reinto