EC-CUBEの注文メールがGmailに届かないとき|送信者に求められる認証(SPF、DKIM、DMARC)
「注文確認のメールが届かない」「会員登録のメールが迷惑メールに入っていた」。お客様からこうした連絡を受けたとき、原因の多くはEC-CUBEの不具合ではなく、メールを送るドメインの設定にあります。
Gmailは2024年2月から、メールを送るすべての送信者に、ドメインの認証を求めています。この記事では、Gmailが求めていることと、EC-CUBEのサイトで確かめる設定をまとめます。
Gmailが送信者に求めていること
Googleの「メール送信者のガイドライン」では、2024年2月1日から、Gmailのアカウントにメールを送るすべての送信者に、次のことを求めています。
- 送信元のドメインに、SPFかDKIMを設定する
- 送信元のサーバに、正しい正引きと逆引きのDNSの設定がある
- メールをTLS(暗号化された通信)で送る
- 受信者から迷惑メールと報告される割合を、0.3%より低く保つ
- 送信元(From)のアドレスを偽らない
Gmailのアカウントに1日5,000通を超えて送る送信者には、さらに次のことを求めています。
- SPFとDKIMの両方を設定する
- DMARCを設定する(認証に失敗したメールの扱いは「何もしない」でもよい)
- 送信元(From)のドメインと、SPFかDKIMのドメインをそろえる
- メールマガジンなどには、ワンクリックで配信を止められる仕組みを付ける
注文確認のメールだけを送っているサイトの多くは、1つ目の一覧が対象です。この条件を満たしていないメールは、届かなかったり、迷惑メールに分けられたりすることがあります。
SPF、DKIM、DMARCとは
- SPF - 「このドメインのメールは、このサーバから送ります」という一覧を、ドメインのDNSに書いておく仕組みです。受け取った側は、送ってきたサーバが一覧にあるかを確かめます。
- DKIM - 送るメールに電子署名を付ける仕組みです。受け取った側は、ドメインのDNSに置いた公開鍵で署名を確かめ、途中で書き換えられていないかと、送信元のドメインを確かめます。
- DMARC - SPFやDKIMの確認に失敗したメールを、受け取った側にどう扱ってほしいかを、ドメインのDNSで宣言する仕組みです。
3つとも、送信元のドメインのDNSに設定します。EC-CUBEの中で設定するものではありません。
EC-CUBEで確かめること
送信元のメールアドレス
EC-CUBEが送るメールの送信元は、管理画面の「設定 > 店舗設定 > 基本設定」にある「送信元メールアドレス(From)」です。送信できなかったメールは「送信エラー受付メールアドレス(ReturnPath)」に戻ります。
送信元に、@gmail.comのようなフリーメールのアドレスを使っていると、そのドメインのSPFやDKIMを自分で設定できません。送信元は、お店のドメインのアドレスにします。
メールの送り方
EC-CUBEがどの経路でメールを送るかは、サーバに置いた .env ファイルで決まります。設定の名前はバージョンによって違います。
- EC-CUBE 4.0、4.1:
MAILER_URL - EC-CUBE 4.2以降:
MAILER_DSN
レンタルサーバのメールサーバ(SMTP)を使っているのか、外部のメール配信サービスを使っているのか、EC-CUBEが動いているサーバから直接送っているのかによって、SPFに書くサーバや、DKIMの署名を付ける場所が変わります。まず、この設定でどこから送っているかを確かめます。
設定すること
送信元のドメインのDNSに、SPF、DKIM、DMARCを設定します。
- SPF - メールを送っているサーバ(レンタルサーバのメールサーバや、配信サービス)を書きます。サーバ会社や配信サービスが、書く内容を案内していることが多くあります。
- DKIM - 署名はメールを送るサーバの側で付けます。レンタルサーバや配信サービスの管理画面で有効にし、案内された公開鍵をDNSに登録します。鍵の長さは1,024ビット以上が必要で、Googleは2,048ビットを勧めています。
- DMARC - まずは認証に失敗したメールの扱いを「何もしない」(
p=none)にして設定し、問題がないことを確かめてから厳しくしていきます。
DNSを変えられるのは、ドメインを管理している人です。お店の担当者、サイトを作った会社、サーバ会社のどこが管理しているかを、先に確かめておくと進めやすくなります。
設定したら、EC-CUBEから自分のGmailのアドレスにテストの注文や会員登録をしてメールを送り、届いたメールの「メッセージのソースを表示」で、SPF、DKIM、DMARCがそれぞれ「PASS」になっているかを確かめます。
相談先
設定しても届かない、どこから送っているのか分からない、という場合は、不具合・障害の対応でご相談を承っています。メールの送り方とDNSの両方を見て、原因を切り分けます。