テックブログ

技術ネタ

独自ドメインが迷惑メール判定されないようにがんばる

こんにちは amiyataです

以前弊社ttakaraにて迷惑メール判定についての記事を書いて
いますが、迷惑メール判定の回避で試行錯誤したお話

今回はそれに+してさらに迷惑メール判定されにくくなる
DMARCを紹介してみたいと思います。

■注意事項
・DNSの設定は慎重にお願い致します。
・全てのメールが迷惑メールにならなくなる設定ではございません
・この記事を参考に操作を行い、不具合が生じた場合も、自己責任でお願い致します。

基本的にDMARCはSPFとDKIMの設定が完了してから実施します。
DMARCはSPFやDKIMの認証に失敗していたときにどのような処理を
行うのか指定するものだからです。

設定はDNSで行います。
DKIMほどではないですが、txtレコードを利用した長い
値になります。

簡単な設定例を見てみたいと思います。

_dmarc.exampledomain.com txt v=DMARC1; p=none; rua=mailto:report@exampledomain.com; ruf=mailto:report@exampledomain.com;

_dmarc というサブドメインを設定してtxtレコードに必要な値を入力します。

各タグについては以下のようなものになります

    • v (必須) プロトコルのバージョン
      ※これを書いておかないと動かない
      DMARC1を指定することで動作します。
    • p (必須) 認証失敗時の動作となります。 noneの場合はなにもしません。
      quarantine で迷惑メール判定
      reject で拒否
      じゃあ認証に失敗しているのならrejectでといきたいところですが、
      なぜ認証に失敗しているのか集計をするまではnoneにしておいたほうがよいです。
      なりすまししかないようであれば最終的にはrejectに変更することでなりすまされたメールは
      拒否されるようになります。
    • rua (任意) 集計レポートの送信先となります
      これと後述するrufで状況を確認しつつ p の値を調整するのがよいでしょう。
    • ruf (任意) 失敗レポートの送信先となります
      失敗した段階で送信されます。
      現状googleではサポートしていないようなのでG Suite ドメインでは利用できません

rua,rufは基本的に対象ドメインと同じドメインのメールアドレスを利用します。
ruaはどれでもよくてrufは同ドメインのメールアドレスでないと動かないらしいです。

他にも使えるタグはありますが下記dmarc.orgを参考にしてください
https://dmarc.org//draft-dmarc-base-00-01.html#iana_dmarc_tags (英語ページとなります)

上記のような設定をすることで実際にメールを送信した際に
DMARCのヘッダが挿入されます。

設定後はdigや、nslookupコマンドでレコードが反映されていることを確認したら
gmailなどへメール送信テストを行い、メールが届くか、
加えてDMARCの設定が反映されているのか確認します。

gmailであればメール送信後、対象メールの
メッセージのソースを表示を見ることで確認できます。

SPFから下の表示が今回は重要となります。
PASSであれば問題ありません。

またメールヘッダ内で下記の記述も確認できるはずです。

dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=exampledomain.com

これでDMARCの設定としては完了します。

あとは様子を見つつ調整となります。
世の中から迷惑メールがなくなりますように…

実績数30,000件!
サーバーやネットワークなど
ITインフラのことならネットアシストへ、
お気軽にご相談ください