WEB/システム/IT技術ブログ

mb_send_mailで改行コードが2重になる

PHPで関数mb_send_mailを利用してメールを送信する場合に、メール本文に1つの改行が2つと解釈されてメールが送信されるケースがあります。

例えば、以下のような文章をフォームなどで入力します。

こんにちわ
こんばんわ
おはようございます

この内容をmb_send_mailにセットしてメールを送信し、受信側で確認すると以下のように表示されることがあります。

こんにちわ

こんばんわ

おはようございます

改行コードとサーバ環境が絡んだ問題と思われますが。

これまではこのプログラムで問題なかったのに。サーバ環境はどうなってるんだろうか。と深く探る前に。

改行コードは、UNIXは『n』、Windowsは『rn』、Macは『r』となっています。ここで、Macでサーバ運用などほとんどないと思いますので、こういう困った場合にはとりあえず『r』を削除すれば解決することが多いです。

$mail_honbun = ereg_replace("r","",$mail_honbun);
mb_send_mail($mailto,$subject,$mail_honbun,$mailfrom);

雑な説明ですが、サーバ環境を調査するコストに悩む場合は、上記を試してみる価値はあると思います。

B!

Comment

コメントはありません

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Monthly Archives