▽1
●
??? ベストアンサー |
メールヘッダの区切り文字 (\r\n) が、処理の途中で誤って変換され、その結果区切り文字がメールヘッダの終わり (空行) と誤認されて、区切り文字以降のヘッダが本文に押し出されたのではないかと推測します。
正常に送受信
とありますが、必要なヘッダが欠けているはずなので、おそらくメーラーによってはうまく受信できなくなっていると思われます。
(Content-Type: text/plain; charset=ISO-2022-JP, Content-Transfer-Encoding: 7bit というのは日本では割とスタンダードな形式なので、メーラーが気を利かせて自動判定しているのだと思います。)
これは、PHP マニュアルの mail 関数に書かれている問題と同じ問題なのではないかと思います。
メッセージが受信されなかった場合には、LF(\n)のみを使ってみてください。
Unix の MTA の中には、自動的に LF を CRLF に変換してしまう
ものがあります(もし CRLF を利用していた場合、CR が重複してしまいます)。
ただし、これは最後の手段です。というのも、これは
» RFC 2822 に違反しているからです。
PHP: mail - Manual
この場合、メールヘッダの処理をしている部分で \r\n を使っているところを探して \n に変更すると、正常に動作する可能性があります。
(もしこの辺が原因で無かった場合は、変更した部分は元に戻しておいて下さい。)
スクリプトが思ったように動作しないという質問の場合、問題が起きるコードをコメントや返信に貼り付けて下さると、回答する側も原因を推測しやすくなると思います。
(人力検索はてなでは質問文の文字数制限が厳しいので、コメントの方にコードを貼り付けることが多いようです。)
表示されることがなくなりました。
本当にありがとうございました。