トピックの内容と返信
-
【1】KN様のトピック投稿
2023年12月6日 18:15:56お世話になります。
FormKitを利用させていただいておりますが、SMTP送信の際にGmailにのみ、自動送信メールが届かない事象がございます。
config.phpにて、SMTP送信設定をしております。
ポート番号、認証方式について、想定される全ての組み合わせを試しましたが、Gmailにのみ全く届きません。
他の有名なメールサービス(Hotmail、Outlook、Yahoo等)については、問題無く受信することが確認できております。
当方の送信メールサーバによるものかとも考えられましたが、FormKitではないWebプログラム(WordPressのフォームプラグイン+SMTP送信プラグイン等)においては、最も適切なポート番号、認証方式を設定し、Gmailを含むすべてのメールサービスにて、問題無く受信することが出来ているため、送信メールサーバ自体の問題とは考え難い状況です。
FormKit内のプログラムを当方にて調整することにより、解消できる方法がございませんでしょうか?
重大なセキュリティ情報であり、当方の詳細な設定を公開することが出来かねるため、難解な事かと存じますが、何かしらご教示いただけると幸いでございます。
よろしくお願い致します。 -
【2】事務局T様の返信
2023年12月9日 06:28:00ご連絡ありがとうございます。
現在、原因調査中でございます。
大変ご迷惑をおかけいたしますが、しばらくお待ちいただければ幸いです。 -
【3】事務局T様の返信
2023年12月9日 11:41:01お待たせしております。
いくつか原因が考えられますので、以下お試しいただけますでしょうか。
1. 以下のように設定ファイル(config.php)のSMTP設定の冒頭に1行追加してみてください。
[config.php]
--------------------------------------------------
...
# - SMTP送信設定
'is_smtp' => true, // ← この行を追加してください。
'smtp_auth' => true,
'smtp_host' => 'smtp.gmail.com',
'smtp_port' => 587,
'smtp_user' => '(SMTPアカウントを入れてください)',
'smtp_pass' => '(SMTPパスワードを入れてください)',
'smtp_secure' => 'tls', # null | 'tls' | 'ssl'
...
--------------------------------------------------
2. SMTPパスワードに「$」が含まれるとうまくいかないことがありましたので、含まれる場合は変更してからお試しください。
3. GMailアカウント側の設定が必要かもしれませんので、こちらもご確認ください。
参考:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11247862341#ans
参考:https://clock-up.hateblo.jp/entry/2015/10/25/phpmailer-gmail-password-auth
「安全性の低いアプリによるアクセスを許可する」の項目
ただ、色々調べてみたのですが、上記3.の方法で紹介されている方法はGmail側で段階的に廃止しているようで、今後はSMTPではなくOAuthという認証方式に取って替わってゆくとのことでした。
このようにPHPからのGmailのSMTP送信が廃止に向かっている状況でしたので、できればGmail以外のSMTP送信が可能なアドレスのご利用をおすすめいたします。
今後サポートを継続していくかも含め検討が必要と考えておりますが、大変申し訳ございませんが現状は上記の回答までとさせてください。
以上、ご迷惑をおかけしておりますがご確認のほど何卒よろしくお願いいたします。
-
【4】KN様の返信
2023年12月11日 12:24:00お世話になっております。
詳細にご回答いただきありがとうございます。
ご回答「1」「2」の内容を踏まえまして、
現在、実運用中のフォームにて、実行しました結果、
Gmailのお客様宛てにも問題無く送信することが、
可能となりました。
'is_smtp' => true,
'smtp_auth' => true,
'smtp_host' => '(独自メールサーバのSMTPホスト)',
'smtp_port' => 587,
'smtp_user' => '(独自メールサーバのSMTPアカウント)',
'smtp_pass' => '(独自メールサーバのSMTPパスワード ※元々「$」が含まれないパスワードでした)',
'smtp_secure' => 'tls', # null | 'tls' | 'ssl'
結論としては、
・「'is_smtp'」を追加
・パスワードに「$」を含まない
こちらが有効のようだと考えられます。
『パスワードに「$」を含まない』が有効であると考えられる理由として、
現在、追加導入を検討している別のWebサイトにおいては、
メールサーバ含め、別ドメインのサイトとなっており、
そちらのSMTPアカウントについては、
SMTPパスワードに「$」が含まれておりました。
そのためおそらく、ご回答「2」の原因により、
やはりGmailのお客様宛てには届かない状況でした。
こちらについては、当方の都合になりますため、
後日、「$」を含まないパスワードに変更して、再確認させていただくようにいたします。
※なお、送信SMTPアカウントについては、Gmailアカウントではなく、
当方所持の独自メールサーバのSMTPアカウントからの送信となっておりますため、
ご回答「3」のGmailアカウント設定は不要な状況でございます。
情報が不足しており誠に申し訳ございませんでした。
この度はご対応いただき誠にありがとうございました。
今後ともよろしくお願い申し上げます。