実現したいこと
問い合わせメールが、個人のgmail宛に届くようにしたい
発生している問題・分からないこと
LPのフォームからきた問い合わせを、複数のgmail宛に届く仕組みをPHP工房で配布されているコードを使って組んでいたのですが、ある日から(11月23日以降)遅延したり届かなくなるエラーが発生しています。
該当のソースコード
<?php //error_reporting(E_ALL | E_STRICT); ##-----------------------------------------------------------------------------------------------------------------## # # PHPメールプログラム フリー版 ver2.0.3 最終更新日2022/02/01 # 改造や改変は自己責任で行ってください。 # # HP: http://www.php-factory.net/ # # 重要!!サイトでチェックボックスを使用する場合のみですが。。。 # チェックボックスを使用する場合はinputタグに記述するname属性の値を必ず配列の形にしてください。 # 例 name="当サイトをしったきっかけ[]" として下さい。 # nameの値の最後に[と]を付ける。じゃないと複数の値を取得できません! # ##-----------------------------------------------------------------------------------------------------------------## if (version_compare(PHP_VERSION, '5.1.0', '>=')) {//PHP5.1.0以上の場合のみタイムゾーンを定義 date_default_timezone_set('Asia/Tokyo');//タイムゾーンの設定(日本以外の場合には適宜設定ください) } /*------------------------------------------------------------------------------------------------------------------- * ★以下設定時の注意点 * ・値(=の後)は数字以外の文字列(一部を除く)はダブルクオーテーション「"」、または「'」で囲んでいます。 * ・これをを外したり削除したりしないでください。後ろのセミコロン「;」も削除しないください。 * ・また先頭に「$」が付いた文字列は変更しないでください。数字の1または0で設定しているものは必ず半角数字で設定下さい。 * ・メールアドレスのname属性の値が「Email」ではない場合、以下必須設定箇所の「$Email」の値も変更下さい。 * ・name属性の値に半角スペースは使用できません。 *以上のことを間違えてしまうとプログラムが動作しなくなりますので注意下さい。 -------------------------------------------------------------------------------------------------------------------*/ //--------------------------- 必須設定 必ず設定してください ----------------------- //サイトのトップページのURL ※デフォルトでは送信完了後に「トップページへ戻る」ボタンが表示されますので $site_top = ""; //管理者のメールアドレス ※メールを受け取るメールアドレス(複数指定する場合は「,」で区切ってください 例 $to = "aa@aa.aa,bb@bb.bb";) $to = "example@gmail.com"; //送信元メールアドレス(管理者宛て、及びユーザー宛メールの送信元メールアドレスです) //必ず実在するメールアドレスでかつ出来る限り設置先サイトのドメインと同じドメインのメールアドレスとすることを強く推奨します //管理者宛てメールの返信先(reply)はユーザーのメールアドレスになります。 $from = "example@gmail.com"; //フォームのメールアドレス入力箇所のname属性の値(name="○○" の○○部分) $Email = "Email"; //--------------------------- 必須設定 ここまで ------------------------------------ //--------------------------- セキュリティ、スパム防止のための設定 ------------------------------------ //スパム防止のためのリファラチェック(フォーム側とこのファイルが同一ドメインであるかどうかのチェック)(する=1, しない=0) //※有効にするにはこのファイルとフォームのページが同一ドメイン内にある必要があります $Referer_check = 1; //リファラチェックを「する」場合のドメイン ※設置するサイトのドメインを指定して下さい。 //もしこの設定が間違っている場合は送信テストですぐに気付けます。 $Referer_check_domain = "自社ドメイン"; /*セッションによるワンタイムトークン(CSRF対策、及びスパム防止)(する=1, しない=0) ※ただし、この機能を使う場合は↓の送信確認画面の表示が必須です。(デフォルトではON(1)になっています) ※【重要】ガラケーは機種によってはクッキーが使えないためガラケーの利用も想定してる場合は「0」(OFF)にして下さい(PC、スマホは問題ないです)*/ $useToken = 1; //--------------------------- セキュリティ、スパム防止のための設定 ここまで ------------------------------------
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
・迷惑メールフォルダの確認
・Gmailの受信ボックスの容量
・メールサーバーの遅延や障害
・Gmail側の一時的な不具合
どれも確認しましたが、該当するものはありませんでした。
また同じコードを使っている他のLPは正常に届いているので、PHPのコード自体には問題ないと思います。
補足
送信元のアドレスを、サイトのドメインと同じドメインに変更したら届くようになりましたが、今までgmail.comでも正常に届いていたので、原因がわからないです。
また届かなかった問い合わせメールを、復元・確認する方法があれば教えていただけますと幸いです。