[PHP-users 12185] Re: メール送信時の改行コードに関して

UNO Shintaro php-users@php.gr.jp
Thu, 12 Dec 2002 00:32:44 +0900


>Redhat7.2
>Apache1.3.27
>PHP4.2.4(国際版)
>
>という環境で簡単なWebメールフォームで"mb_send_mail()"関数にて
>メール送信したときに一部のメーラーで一行おきに改行が加わって
>しまっているのです。


フォームから来るデータは、改行コードが「\r\n」「\r」「\n」の
いずれになるかが予測できません。(大抵は「\r\n」のようです)
メッセージデータを mail() や mb_send_mail() に渡す前に、
改行コードを次のような感じで「\n」に揃えてやればいいと思います。

$msg = str_replace("\r", "\n", str_replace("\r\n", "\n", $msg));

#[7594]の方法は、「\n」ではなくて「\r」に揃えるという主旨なので、
#山本さんのおっしゃるとおり、メーラによっては改行が抜けて表示
#されるような気がします。

-- 
UNO Shintaro, 宇野 信太郎
mailto:uno@venus.dti.ne.jp
http://www.venus.dti.ne.jp/~uno/