2011-07-21 9 views
5

最近、一部のお客様から、電子メールが文字化けしているとの苦情が寄せられました。 MIMEヘッダーが表示され、base64でエンコードされたデータなどがメールクライアントによってデコードされているはずです。電子メールの正しい改行は何ですか? LFまたはCRLF?

調査したところ、一部のメールクライアント(gmx.deという名前のWebmail)が1行おきに空白行を挿入していることがわかりました。

私はメールの送信コードを変更して、すべてのCRLFをLFだけに置き換えました。そして、見て、メールは全部届いた。 RFC 5322が明示的にその

2.3を述べているので

さて、これは、奇妙です。本文

メッセージの本文は、US-ASCII文字の行です。 身体に関する2つの制限事項は、次のとおりです。

o CRとLFは、CRLFとして一緒に使用する必要があります。体内に別途 と表示されてはいけません。

Huh?悪いウェブメール?あるいは、私はどこかで間違っていましたか?他のwebmails(gmailのような)はこれに問題はなく、実際には大部分の人に問題はないようです(苦情はほとんどないので)。

私はPHPのmail()機能を使って電子メールをLinuxボックスに送信します。基本的なメールソフトはqmailのようだが、わからない。

qmail doesn't like CRLF under similar conditionsと思われます。これが問題だろうか?それはまだ修正されていないのですか?(そのページは4年間で更新されていませんか?

+0

確かにCRLFです。 – BoltClock

+0

だから落とした? O_o –

+0

私はしませんでした。実際には、私はただ立ち上がりました。 – BoltClock

答えて

2

http://www.php.net/manual/en/function.mail.php状態

注:

メッセージが受信されない場合は、LF(\ n)を使用してみてくださいのみ。いくつかのUnixメール転送エージェント (特にqmail)は自動的にLFをCRLFに置き換えます( CRLFが使用されている場合はCRが2倍になります)。これはRFC 2822に準拠していないため、最後の手段にする必要があります。

関連する問題