WordPress PHP8.0 環境 PHPMailer に不具合の可能性?
複数の WordPress サイトを運営していますが、
最近になり、WordPress からの送信メールが、差出人がない状態(空欄「-」)になります。
通常の差出人は、「差出人:WordPress <wordpress@(サイトアドレス)>」が正常な状態です。
差出人が消える
数か月前には、正常な状態を確認していますが、PHP8.0 に変更したあたりから差出人が空白になりました。
※現在でも PHP7.4・PHP7.3 環境の WordPress サイトは、正常な状態を確認しています。
ただし、PHP8.0 と PHP7.4・PHP7.3 の環境では、使用しているテーマが違うので、PHPが原因なのかテーマが原因なのかは、現時点で不明です。
不具合は、「PHPMailer 6.4.1」「PHPMailer 6.4.0」で確認しています。
メールフォーム だけではなく、自動アップデートやエラー発生時に WordPress から管理者に直接送信されるメールも同じ不具合があります。(WordPress から送信されるメール全ての現象です)
差出人が消えるメール本文上部の表示
※送信された本文は、この下に表示されます。
正常なメールには、この画像部分の表示はなく、不具合のあるメールのみ本文上部に表示されます。
(エラーとして表示されているようです)
「From:~」は記載されているのですが、差出人と判断されず、ヘッダーの処理に不具合が発生していると思われます。
(ヘッダー処理の不具合が本文上部に表示されているようです)
※不具合のあるメールは、「Googleメール」で受信できない状態になっています。
「なりすまし」または、「不正メール」と判定されている可能性があり、迷惑メール(スパム)にも届きません。
「Thunderbird」は差出人なしでも、受信できるので、しばらく様子をみている状況です。
早急に改善されることを祈ります…
2022/01/08 更新
現在、「PHPMailer 6.5.0」になっていますが、上記不具合 状態のままです。
複数のサイトで確認しています。
改善されると思っていたので、特に対策は行わず放置していましたが、数か月経過したので真剣に原因の追究を考えています。
PHP8.0 では、テーマに関係なく不具合が発生しますが、PHP7.4 では、テーマに関係なく正常に動作します。
※現時点で判明していること
1】「テーマ」が原因ではなく、「PHP8.0」と「PHPMailer」に原因があるようです。
2】差出人は空白になり、タイトルの文字数が全角15文字(半角30)までしか表示されません。
3】送信された本文が改行処理エラーの可能性があり、行間隔が広く表示されます。
4】不具合のメールをプロバイダーWEBメールで確認すると、エンコード エラー が発生し本文が文字化けしている。(Thunderbird では発生しない)
2022/07/13 更新
文字化け と タイトルの文字数 については、エンコード修正で改善できたのですが、
差出人が消える現象は、いまだに解決できません。エンコードは関係ないようです。
Gmailでは、受信不可です。
PHP8.0 と PHP8.1 では不具合が発生し同じ差出人が消える現象になります。 PHPを7.4にすると差出人が表示され正常な状態になります。
2022/09/29 更新
結 論
長い間検証してきましたが、ようやく結論を出すことができました。
私個人の結論なので、参考程度に考えてください。
最も考えられる原因
コアサーバー(CORESERVER)V1 では、PHP8.0・8.1 を使用すると WordPress からのメール差出人が消える。
コアサーバー(CORESERVER)V1 の PHP8.0・8.1 または、メールシステム どちらかに不具合がある。または正常に動作しない。(メール差出人が消える)
※ コアサーバー(CORESERVER)V2 では、この現象は発生しない。V1のみの不具合です。
※ 結果、Gmailでは、受信できない。
メールの文字化けも発生するが、プラグインなどの個別設定で回避できる。しかし差出人が消える現象は回避できない。
検証環境:コアサーバー(CORESERVER)V1 を2個契約、V2を1個契約しています。
この件で、コアサーバーはサポート外として受け付けてもらえない。(自力で解決の返答)
コメント
コアサーバーから飛ぶメールが何をしてもヘッダがおかしくてハマってました。まさかver下げるだけとは…助かりました
WordPressからの管理メールだけでなく、独自作成のphpからmailで飛ばしてもヘッダがおかしいのでv1のMTAに問題があるような気もしました。