朝起きるのがつらいYu-ichiです
寒くなってきたので、布団から出るのに1日の半分以上のエネルギーを使います。
人間にも冬眠が必要だと思います!
さて今回は、メールのお話です。
お客様に送ったメールが迷惑メールに入ってしまう、届いていないと言われることありませんか?
その原因の多くは、送信ドメイン認証(SPF、DKIM、DMARC)を正しく設定していないことです。
特に最近はGmailやYahooが認証されていないメールを非常に厳しく扱うため、企業のメール運用では設定がほぼ必須になってきています。
そこで、SPF・DKIM・DMARCの仕組みや設定方法についてまとめてみます。
今回は、3つの役割の基礎と、SPFについて説明します。
■ SPF、DKIM、DMARCの役割について
- SPF:どのサーバーが自分のドメインからメールを送ってよいかを示す仕組み
- DKIM:メールに電子署名を付けて改ざんされていないことを証明する仕組み
- DMARC:SPFとDKIMの結果を見て、受信側にメールをどう扱うか指示する仕組み
3つを組み合わせることで、正しく届くメールの割合が大きく上がります。
■ なぜ今、設定が必須なのか
- なりすましメールが増えているため、認証がないメールは疑われやすい
- GmailやYahooでは、認証がないメールは迷惑メールに入ったり拒否される可能性が高い
- 問い合わせや注文メールが届かないことは、直接ビジネスの損失につながる
そのため、どのレンタルサーバーも3つの認証を行うのが当たり前になっています。
次でその3つのうち「SPF」について簡単に解説します。
■ 今回はSPFを解説
● SPFとは?
SPFはSender Policy Frameworkの略で、ドメインのDNSに「このサーバーから送ってよい」というリストを登録する仕組みです。
例えると「この住所(メールサーバー)から送られたメールなら正規のものですよ」という証明書のようなものです。
リストに載っていないサーバーから送ると、なりすましと判定される可能性があります。
● SPFの設定方法
DNSにTXTレコードを1つ追加します。
v=spf1 +a +mx include:example.ne.jp -all
各部分の意味:
- a:Webサーバーからの送信を許可
- mx:メールサーバーからの送信を許可
- include:外部サービスの送信サーバーを許可
- -all:許可していないサーバーは拒否
恐らく多くのサーバーは「-all」より「~all」が使われているケースが多いと思います。
「~all」はsoftfailなので、「-all」のように拒否はせず不審なメールとして受信はします。
よくある失敗例:
- includeを入れすぎてルックアップ回数の上限の10回を超える
- 最後が「~all」で認証が甘いまま
- CMSやECサイトなど、外部システムの送信サーバーを追加し忘れる
特にincludeを入れすぎるケースは多いです。
Google Workspaceでメールを使う際には「include:_spf.google.com」を追加するのですが、
このincludeで呼び出した先でもincludeがあるため、1つ追加しただけで3回くらいカウントされます。
上限を超えてしまった場合の対応策として、includeで呼び出しているIPアドレスを直接書くフラット化や、サブドメインを使う方法などあります。
詳しいやり方を丁寧に解説しているサイトがたくさんあるので「SPFフラット化」などで調べてみてください!
次回は「DKIM」について解説したいと思います。
(忘れてなければ・・・)





