taku
1
・baserCMSバージョン: 4.8.0
・PHP Version 7.4.33
・サーバ:さくらインターネット
2年ほど前にver4系を導入し、現在もver4系でアップデートしながら活用しています。
イベントクラブHP内で、イベントの申込みに対応するメールフォームを設けており、運営サイドと申込者双方に自動応答が働くよう設定しております。
2023年までは問題なく動作していましたが、2024年以降、gmailアドレスで申し込みされると、自動返信が相手サイドに届かない状態(迷惑メールにさえ現れない)となりました。
なお、icloud等のアドレスには正常に届きます。
これはgmailの迷惑メール対策のアップデートが原因と理解しており、自動返信のメールヘッダに適切な情報を添付することで、gmailのフィルタを抜けられるという理解です(違っていましたらご指摘ください)。
そこで調べたところ、下記のような情報源を見つけ、「 Webサイトのフォームからのメールが届かない原因」を参考に解決を図っています。
解決のお知恵をお借りしたいのは
・ver4系のメールフォーム自動返信に、SPFとエンベロープFrom (Return-Path)を設定する方法
です。
なお当方PHPはほぼ初心者ですが、JavaScript等は多少触るので、変更するファイルパスと変更箇所を教えていただければ、ファイルの改変は可能です。
どうぞよろしくお願いいたします。
GUSSAN
2
SPFレコードは、さくらサーバーのDNSを利用しているのであれば、さくらサーバーの管理画面(ドメインコントロールパネル)で行えるようです。以下のサポートページに準じて作業を行えば、設定できると思います。わからない場合は、さくらサーバーに問い合わせる感じでしょうか。
ちなみに、メール(SMTP)サーバーは、さくらサーバーのものをお使いになるのですよね?であれば、ドメインコントロールパネル上に自動で記述されるSPFレコードのままでOKかと思います。
つぎにエンベロープFromは、受信できたメールのヘッダー情報にあるReturn-Pathを参考にして、baserCMS管理画面のサイト基本設定>メール設定>additional_parameters(オプション)に -f hoge@sample.com
のように記述すれば、書き換え可能です。
このオプションは、baserCMS標準のPHPで送信する場合、第5引数としてエンベロープのmailfromを指定できるオプションです。
taku
3
解決いたしました。ありがとうございます。
ご教示の通りさくらインターネットの設定を見直したところ、SPFは既に付与される設定となっており、しかし自動返信メールヘッダではSPF:noneとなってしまっていたため、そこから先で一度行き詰まりましたが、いったんサイトの設定を全て見直しました。
するとメール設定のSMTP設定がデフォルトの状態となっており、そこにあらためてさくらのSMTPホスト等入れたところ、SPF一致としてGmailに送達されました。
SMTP空欄でもメール打ち返しされるのですね。便利な設定ですが盲点となっておりました。
とにかく解決することができ、非常にありがたい限りです。これからもbaserCMS活用させていただきます。