dounokouno / TransmitMail

Copyright表示不要のPHP製汎用メールフォームシステム
http://etc.dounokouno.com/TransmitMail/
MIT License
142 stars 48 forks source link

問い合わせメールが送れなくなりました #94

Closed rio-ya closed 8 months ago

rio-ya commented 8 months ago

以前からさくらのレンタルサーバにて使用させていただいているのですが、先ほどメールの送信がエラーとなってしまい、以下のエラーが出てしまい、送信できなくなってしまいました。※確認画面までは進めます。

エラーが発生しました お手数をおかけしますが、再度、お問い合わせフォームからお問い合わせいただくか、下記メールアドレスよりお問い合わせください。

メールの送信に失敗しました。 自動返信メールの送信に失敗しました。

お手数おかけしますが、解決方法等ご教授いただけると幸いです

dounokouno commented 8 months ago

@rio-ya 様

TransmitMail をご利用いただきありがとうございます。

log ディレクトリに上記エラー時の詳細のエラーは出力されていないでしょうか?出力されている場合は、機密情報はマスクまたは削除いただき、こちらのコメントに貼り付けていただけますと、何かヒントが得られるかもしれません。ご確認いただければ幸いです。

rio-ya commented 8 months ago

@dounokouno 様

確認したところ、エラーログが出ていましたので添付いたします。

2024-03-06 11:33:42 Qdmail error: Send Error line -> 2115 To: XXX Subject: =XXX From: =XXX= <XXX> Message-Id: <XXX> Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 X-PHP-Qdmail: version-1.2.6b The_MIT_License http://hal456.net/qdmail PHPver 7.4.33 send-by SMTP

必要な情報までマスクしていたら申し訳ございませんが、確認のほどお願いいたします。

rio-ya commented 8 months ago

@dounokouno 様 すみません、貼り忘れがありました。 追加で貼らさせて頂きます。

2024-03-06 11:33:42 Qdmail error: Qdmail Version 1.2.6b ,PHP Version 7.4.33 Qdmail error: OS FreeBSD ; PHP Version 7.4.33 ; Qdmail version 1.2.6b php.ini status: mb_language = Japanese ; mb_internal_encoding = UTF-8 ; mb_detect_order = ASCII,UTF-8 Qdmail Status debug: 0, log: 0, errorlog: 3 Qdmail error: No send . Because SMTP mail method replied error line -> 2190 To: XXX Subject: =?iso-2022-jp?XXX=?= =?iso-2022-jp?XXX==?= From: =?iso-2022-jp?XXX= Message-Id: Qdmail.1.2.6b_ce6071ba9ad7b7cd583bce496d80c819911ef1f0@hal456.net Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 X-PHP-Qdmail: version-1.2.6b The_MIT_License http://hal456.net/qdmail PHPver 7.4.33 send-by SMTP

dounokouno commented 8 months ago

@rio-ya 様

エラーメッセージの貼り付けありがとうございます。

Qdmail error: No send . Because SMTP mail method replied error line -> 2190

とあり「SMTPメールメソッドがエラー行を返信したため」とのことなのですが、何のエラーかがわからないですね。。

追加の質問なのですが、下記内容を教えていただけますと、何かわかることがあるかもしれません。ご協力いただければ幸いです。

rio-ya commented 8 months ago

@dounokouno 様

以下引用にて失礼致します。

今回 TransmitMail を設置しているのはどこかのレンタルサーバーでしょうか?レンタルサーバーの場合、レンタルサーバーの会社名とプラン名を教えてください(何かのヒントになるかもしれないため)

さくらのレンタルサーバーのライトプランを使用しております。

チェックモードで「NG」は表示されていないでしょうか?

確認しましたが、NGは見当たりません。

ファイル添付機能は使われていますでしょうか?

使用しております。

Because SMTP mail method replied error line とあるので、外部 SMTP サーバーを利用されているという認識であっていますでしょうか?

その認識で合っています。gmailを使用しております。

「利用している外部 SMTP サーバー側でどのようなエラーを返したか」を @rio-ya 様の方で確認いただくことは可能でしょうか?

申し訳ございませんが、すぐに私の方では確認ができません。

dounokouno commented 8 months ago

@rio-ya 様

ご回答ありがとうございます。

たびたびで恐縮ですが、もう少し追加の質問をさせてください。

ファイル添付機能は使われていますでしょうか?

使用しております。

ファイル添付機能を利用しない場合、メールを送ることができたりしないか、一度ご確認いただけるとありがたいです。

Because SMTP mail method replied error line とあるので、外部 SMTP サーバーを利用されているという認識であっていますでしょうか?

その認識で合っています。gmailを使用しております。

Gmail を利用されているとのことですが、それは個人用の Gmail ( username@gmail.com のようなメールアドレス)でしょうか?それとも Google Workspace のメール機能を利用されていますか?

rio-ya commented 8 months ago

@dounokouno 様

ファイル添付機能を利用しない場合、メールを送ることができたりしないか、一度ご確認いただけるとありがたいです。

config.ymlのfile:trueをfalseに変更という認識でよかったでしょうか? 上記設定に変更してみましたが、特に変わりませんでした。

Gmail を利用されているとのことですが、それは個人用の Gmail ( username@gmail.com のようなメールアドレス)でしょうか?それとも Google Workspace のメール機能を利用されていますか?

Google Workspaceで独自ドメインを使用しております。

お手数をおかけしますが、ご確認よろしくお願いいたします。

dounokouno commented 8 months ago

@rio-ya 様

ご回答ありがとうございます。なんとなく構成がわかってきた気がします。

独自ドメイン(ここでは仮に example.com とします )で Google Workspace のメール機能を利用していて、ウェブサイトはサクラのレンタルサーバーで www.example.com または example.com でアクセスできるように DNS を設定している、といった構成で認識はあっていますでしょうか?

また Google Workspace でログの確認はできないとのことですので、 Google Workspace で権限がないか、 @rio-ya 様のクライアントの Google Workspace のメールを外部 SMTP として利用しようとしている、といった感じでしょうか。

また、以前からさくらのレンタルサーバーは利用されていてメール送信はできているとのことですが、念のため確認させていただきたいのですが、 Google Workspace のメール機能を外部 SMTP サーバーとして利用されることはこれまでご経験はありますでしょうか?

質問ばかりで恐縮ですが、 DNS サーバーはどちらのものを利用されていますでしょうか?(これがわかるともう少し何かがわかるかもしれません)

rio-ya commented 8 months ago

@dounokouno 様

独自ドメイン(ここでは仮に example.com とします )で Google Workspace のメール機能を利用していて、ウェブサイトはサクラのレンタルサーバーで www.example.com または example.com でアクセスできるように DNS を設定している、といった構成で認識はあっていますでしょうか?

その認識で大丈夫です。

また Google Workspace でログの確認はできないとのことですので、 Google Workspace で権限がないか、 @rio-ya 様のクライアントの Google Workspace のメールを外部 SMTP として利用しようとしている、といった感じでしょうか。

その通りです。 クライアント様のアカウントです。

また、以前からさくらのレンタルサーバーは利用されていてメール送信はできているとのことですが、念のため確認させていただきたいのですが、 Google Workspace のメール機能を外部 SMTP サーバーとして利用されることはこれまでご経験はありますでしょうか?

今まで使用できていたとクライアント様からは聞いております。 経験は全く無いわけではありませんが、専門では無いのであまり慣れておりません。

質問ばかりで恐縮ですが、 DNS サーバーはどちらのものを利用されていますでしょうか?(これがわかるともう少し何かがわかるかもしれません)

さくらインターネットのものを使用しています。

私が最初から担当していた訳では無いため、情報が不明瞭でご迷惑おかけしますが、ご確認よろしくお願いします。

dounokouno commented 8 months ago

@rio-ya 様

お返事ありがとうございます。諸々、了解しました。

まずメール送信できない件は、おそらくではありますが Google の「メール送信者のガイドライン」が関係しているのではと想像しております。

参考: https://support.google.com/a/answer/81126?sjid=4068263634946002854-AP&visit_id=638453986013666458-3897195438&rd=1

Google の「メール送信者のガイドライン」の説明と対応方法については下記サイトもわかりやすいです。

https://wacul-ai.com/blog/access-analysis/gmail-policy-setting/

さくらのレンタルサーバーでの SPF レコードの設定方法はオフィシャルのサポートサイトが詳しいので、まずは SPF レコードが設定されているかご確認いただき、設定されていない場合は設定していただき、送信できるようになるかご確認をお願いいたします( DKIM も同様にご確認いただけるとより良いかと思います)。

https://help.sakura.ad.jp/domain/2306/

またクライアント様に TransmitMail でメール送信エラーになった際に Google Workspace のメール機能のログに何か関連するエラーメッセージが残されていないか、ご確認いただけると何かわかるかもしれません。

下記の方法で今回のケースのエラーログが残っているかわかりませんが、参考までに私が見つけた「Google Workspace のメール機能のログの検索方法」の記事をご紹介しておきます。ご参考までに。

https://support.google.com/a/answer/2618874?hl=ja

rio-ya commented 8 months ago

@dounokouno 様

まずメール送信できない件は、おそらくではありますが Google の「メール送信者のガイドライン」が関係しているのではと想像しております。

参考: https://support.google.com/a/answer/81126?sjid=4068263634946002854-AP&visit_id=638453986013666458-3897195438&rd=1

Google の「メール送信者のガイドライン」の説明と対応方法については下記サイトもわかりやすいです。 https://wacul-ai.com/blog/access-analysis/gmail-policy-setting/

さくらのレンタルサーバーでの SPF レコードの設定方法はオフィシャルのサポートサイトが詳しいので、まずは SPF レコードが設定されているかご確認いただき、設定されていない場合は設定していただき、送信できるようになるかご確認をお願いいたします( DKIM も同様にご確認いただけるとより良いかと思います)。

上記確認しましたが、SPFは以前から、 DKIM DMARCは2月頭から設定済みです。

またクライアント様に TransmitMail でメール送信エラーになった際に Google Workspace のメール機能のログに何か関連するエラーメッセージが残されていないか、ご確認いただけると何かわかるかもしれません。

下記の方法で今回のケースのエラーログが残っているかわかりませんが、参考までに私が見つけた「Google Workspace のメール機能のログの検索方法」の記事をご紹介しておきます。ご参考までに。

https://support.google.com/a/answer/2618874?hl=ja

そうですね、クライアント様に一度確認して頂きます。 また何か分かりましたら書き込ませて頂きます。

rio-ya commented 8 months ago

@dounokouno 様

解決したのでご連絡だけさせて頂きます。 結論といたしましては、Googleのサードパーティアプリに関する対応が変わっていたためでした。

具体的には、config.ymlにて以下の項目の、外部SMTPに接続するパスワードを、新規でGoogleアカウントの2段階認証内にてアプリパスワードを作成する必要があるということでした。(あまり推奨はされていませんが...)

config.yml

  # 外部 SMTP サーバーに接続するユーザー名
  smtp_user: XXX@example.com

  # 外部SMTPに接続するパスワード
  smtp_password: XXX

参考にしたURL貼らさせて頂きます。 https://qiita.com/okemessi/items/1904fe40750ea0f267a2

お手数をおかけしました。 丁寧に対応して頂きありがとうございました。

dounokouno commented 8 months ago

@rio-ya 様

本件、解決したとのことで安心いたしました。

Google 側の仕様変更だったんですね。ただ推奨されていないとのことですので、今後、ご教示いただいた方法も使えなくなるかもしれないですね。。そのことも頭の片隅に入れておきたいと思います。