[PHP-users 7583] メール送信時の改行について

Takayuki Yamada php-users@php.gr.jp
Mon, 20 May 2002 11:26:05 +0900


スケッツの山田と申します。

現在、redhat7.2+php3.0.18-i18n-ja-3でメール送信フォームを
作ろうとしているのですが、mailコマンドで送信したメールの
本文に、一行おきに改行が入ってしまうという現象が起きています。

具体的には、HTMLフォームから、

・送信元アドレス(引数名:$from)
・Subject($subject)
・メールの本文($notes)

を入力して、送信用スクリプト(phpで記述)に渡す形式になっており、
php側の送信部分のソースとしては、

--->
$sendto = "hoge@hoge.com";
$mailfrom = "From:".$from."\r\n";

mail($sendto,$subject,$notes,$mailfrom);
<---

というだけのものです。
これで、例えばHTMLフォームで本文の内容として

--->
テスト送信です。
テスト送信です。
テスト送信です。
<---

という3行を入力して実行すると、届いたメールでは

--->
テスト送信です。

テスト送信です。

テスト送信です。

<---

と、一行おきに改行が加わってしまっているのです。

不思議だったのは、実験のため上記ソースのmailコマンドの直前に、
「$notes = rtrim($notes);」
という行を入れても、状況が変わらなかったことです。

フォームのテキストボックスから入力した場合、rtrim等では除去
できない改行コード(もしくはそれ以外の何か)が入ってしまうので
しょうか?

おそらく初歩的な事ではないかと思っているのですが、どなたか同
じような現象を経験された事がある方や心当たりのある方がいらし
たら、お手数ですがご教授ください。


--
山田 貴之(mailto:yamada@sketts.com)
株式会社スケッツ
107-0062 東京都港区南青山5-4-30 愛原マンション1F
[TEL]03-5766-5073/[FAX]03-5766-5074