最近ではGmailのSPF判定が厳しくなっており、SPFの設定をしていてもSoftfailというエラー判定をすることが増えています。
SPFだと転送があると警告表示されます
転送があると、送信元の情報に改ざんの疑いが残るのでSPFがPASSにならずsoftfallになります。このsoftfallがGmailだと「警告」の原因になります。
https://support.google.com/mail/thread/8223036/%E3%81%8A%E5%95%8F%E3%81%84%E5%90%88%E3%81%9B%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%8B%E3%82%89%E3%81%AE%E8%87%AA%E5%8B%95%E8%BF%94%E4%BF%A1%E3%83%A1%E3%83%BC%E3%83%AB%E3%81%8Cgmail%E5%AE%9B%E3%81%A0%E3%81%A8%E3%81%AF%E3%81%98%E3%81%8B%E3%82%8C%E3%82%8B%E4%BB%B6?hl=ja
このケースの場合、ユーザーに届く前にGmailサーバーによってブロックされています。
そのため受信側のユーザーではどうにもできません。
メール送信側が、Gmailの一括送信ガイドラインにそって対応する必要があります。
問い合わせフォームによくあることですが、問い合わせフォームが送信につかうメールサーバーと差出人メールアドレスが利用すべきメールサーバーが異なっている場合です。この場合、怪しいと思われてしまう可能性があります。
たとえば、DNS の SPF 設定にて、問い合わせフォームが送信につかうメールサーバーについて、差出人メールアドレスのドメインのメールも送信することがあるよ!という設定をすれば拒否されない可能性も高まります。
あるいは問い合わせフォームが送信につかうメールサーバーを変更することもありえます。
何ができるかは、システム次第なので一括送信ガイドラインを参考に対応してみるとよいと思います。
https://imoto-webdesign.com/blog/?p=1041
CMSのお問い合わせ機能やPHPメールフォーム。
設定とかは間違っていないのに「メールが届かない・・・!」というトラブルがあって、切り分けて探ったところ原因がわかったので、備忘録。
もし同じことで行き詰っている人がいたらこのあたりも見てみて。
メールの仕組み
CMSのお問い合わせ機能やPHPメールフォーム。これはだいたい下記のようなながれですよね。
- 【メール送信者】サイトのメールフォームに入力して送信する
- 【サイト管理者】受信設定したメールアドレスにメールが届く。
- 【メール送信者】同時に自動返信機能でメール送信者にもメールが届く。
例としてこのサイト(http://aaa.com/)に設置してあるメールフォームを例に挙げてみます。
1で「xxx@gmail.com」と入力、2の受信アドレスが「xxx@aaa.com」とします。
すると、3の自動返信メールはこうなります。
送信元アドレス(FROM)「xxx@aaa.com」 → 「xxx@gmail.com」
つまり
受信アドレス = 自動返信の送信元アドレス
になります。
ここで受信アドレスを違うドメインのものに変えてみます。例えば「xxx@bbb.com」にすると、自動返信は、
送信元アドレス(FROM)「xxx@bbb.com」 → 「xxx@gmail.com」
となりますね。
するとここで問題発生!
この設定の場合「メールが届かない・・・!」となるときがあるようなのです。ちなみに今回の私のケースはGmailでした。
なぜ届かない!?
サイトが「aaa.com」で、違うドメインのメールアドレス「xxx@bbb.com」を設定すると、なぜ「メールが届かない・・・!」場合があるのか。
それは、メールサーバー側で「なりすまし」と判断される可能性が高まるからなんだそう。だから届かなかったり、迷惑フォルダに振り分けられたり。
まとめ
受信するメールアドレスは最低限サイトのドメインと同じドメインのアドレスにする。
サイトのURL:https://aaa.com/
受信メールアドレス:xxx@aaa.com(同じドメインのメールアドレスとする)
数年前まではこんなトラブルはなかったと思うけど、メールサーバーのセキュリティを強化してきているのだね。いいことです!
SPFが施されているかの確認方法
SPF(Sender Policy Framework)とは、送信者のメールアドレスが、なりすましされていないかを判定する仕組みで、使用しているドメインのDNSサーバーに、SPFレコードを設定しておくことで、メールが正規の送信元から届いたものとなり、なりすましでないことを受信者に確認してもらうことができます。
この記事では、Windowsのコマンド「nslookup」で、SPFレコードを確認する手順を紹介します。
windowsのコマンドプロンプトで調べられる。
コマンド プロンプトを開き、以下のコマンドを実行します。
※コマンドプロンプトは、スタートメニューの「Windows システム ツール」にあります
コマンド
>nslookup -type=txt outlook.com
ドメイン「outlook.com」の場合の例です。調べたいドメイン名を入力してください。
結果
サーバー: UnKnown
Address: x.x.x.x
権限のない回答:
outlook.com text =
”google-site-verification=0iLWhIMhXEkeWwWfFU4ursTn-_OvoOjaA0Lr7Pg1sEM”
outlook.com text =
”google-site-verification=DC2uC-T8kD33lINhNzfo0bNBrw-vrCXs5BPF5BXY56g”
outlook.com text =
”v=spf1 include:spf-a.outlook.com include:spf-b.outlook.com ip4:157.55.9.128/25 include:spf.protection.outlook.com include:spf-a.hotmail.com include:_spf-ssg-b.microsoft.com include:_spf-ssg-c.microsoft.com ~all”
v=spf1から始まる部分がSPFレコードです
SuiteXもロリポップもSPFは自動で設定されている。メールフォーム設定ではドメインのメールのみを管理メールとして登録すれば相手がgmail先であろうと問題なくとどくが、メールフォームの管理メールをgmailにするとメールサーバーとgmailが別々なのでGmail側でスパムとなるのでgmailはフォームの管理メールにはできない。 カラミーでは開店閉店のメールとメールアドレス箇所がドメインメールだとSPFでGmailで引っかかるのでカラミーで作成したメールアドレスを設定する必要がある。やはりメールサーバーの場所とそれに紐づいているメールアドレスが何をするにも一致している必要があるようだ。
一応、別メールでも回避できるような記述があるが詳しくはわからないがこちら↓
https://goweb.jp/info/blog/2018/08/22/post-4492/
Gmailへ配信されない現象はSPFレコードを追加して回避する
2018/8/22 2022/5/27 ホームページ, メール
Gmailへ配信されない主な原因として、ご利用中のサーバー(ここでは、Aドメイン)から、違うドメイン(ここでは、Bドメイン)のメールアドレスで送信する場合、 Gmailサーバーはなりすましメール(不正メール)と判断して、メールを弾いてしまうことがあげられます。
この問題を解決するには、送信するメールアドレス(Bドメイン)のドメインを所有しているサーバー(DNSサーバー)へ、SPF(Sender Policy Framework)レコードを設定することで回避することができます。
SPFレコードの取得方法
1.https://diag.interlink.or.jp/spf にアクセスします。
2.送信元に送信メールサーバー「smtp.example.jp」を入力
3.Eメールアドレスに送信されたいメールアドレスを入力
4.注意事項を確認して、「診断する」ボタンをクリック
5.SPFレコードが表示されます
例)”v=spf1 +ip4:123.456.789.012/32 ~all”
SPFレコードの設定
上記で取得したSPFレコード情報を、送信するメールアドレス(Bドメイン)のドメインを所有しているサーバー管理者へ、SPFレコードの設定を依頼します。