1,112 views
この記事は最終更新から 839日 が経過しています。
1. 問題発生
PHP7.4 から PHP8.0 に変更した。
すると…
メール受信時に、メール本文にメールヘッダの内容が表示されるようになった。
なぜか?
調査中…
後日追記
追記: 2022/06/12
上記の投稿から1年3か月が経過した。
久しぶりに PHP ver.8でメール送信してみることにした。
結果は…
自然治癒
こんな言い方は作ってくださっている方々に対して失礼だが…
ありがたいことに修正してくださったようだ。
因みに今回試した PHPのバージョンは PHP ver.8.0.17 だ。
良かった良かった!
とは言え、いつ再発するかわからないので、以下にテストページを置いておく。
PHP versionが更新される度に、ここからメールを送信して試してみよう。
https://php8.dogrow.net/_test/001_sendmail/
ところで原因は?
こちらのブログで説明してくださっている。
PHP8.0にアップグレードしたらメールヘッダがおかしくなった話
PHPプログラム内で、リターンコードの記述が変わったことが原因とのこと。
有用な情報をありがとうございます。m(_ _)m
でも、PHP ver.8.0.17のソースファイルを見てみたところ…
$ wget https://www.php.net/distributions/php-8.1.7.tar.gz $ tar -zxvf php-8.1.7.tar.gz $ vi ./php-8.1.7/ext/standard/mail.c
上記ブログの指摘個所は変更されていない。
あれっ? 別要因なのか?
fprintf(sendmail, "To: %s\r\n", to); fprintf(sendmail, "Subject: %s\r\n", subject); if (hdr != NULL) { fprintf(sendmail, "%s\r\n", hdr); } fprintf(sendmail, "\r\n%s\r\n", message); ret = pclose(sendmail);
初めまして。
すみません。
mb_send_mailという関数を使用しているのですが、ヘッダーの一部が憑依されてしまい困っています。
解決されておりましたら、追記をお願いしたいと思っています。
宜しくお願い致します。
コメントをいただき、そんなこともあったと思い出して試してみました。
PHP ver.8.0.17では、本投稿で「問題発生」とした現象が発生しなくなっていました。