8

しばらくの間、PHP 経由で送信する電子メールの改行の代わりに、一部のユーザーが =0A=0A を取得するという問題がありました。電子メール クライアントを介した通信はうまく機能しますが、PHP で生成された電子メールは、一部のユーザー (少数派) に対して常にこのように表示されます。グーグルはまともな結果を明らかにしませんでした.すべての検索結果は何らかの形でOutlookに関連しているようです-そして、すべてのOutlookユーザーがこの問題に苦しむと考えるのは受け入れられません. これを処理し、これらの改行エンコーディングの問題を回避する正しい方法を知っている人はいますか?

編集: 参考までに、Zend の Mailer クラスを使用しています。

ありがとう

編集2:

エンコード タイプを変更しても機能しませんでした。ヘッダーを base64 にエンコードし、本文を 64 にエンコードしたところ、文字化けが発生しました。次に、base64 ヘッダーを試し、本文で base64_decode(base64_decode($body)) を実行しました。これは、ユーザーの「CNR サーバーでは問題ありませんでしたが、受信トレイでは問題ありませんでした」という意味でした。mb_convert_encoding を base64 にしようとしたところ、本文の代わりにエンコードされた文字列が再び取得されたため、使用できませんでした。

他に何を試すことができますか?Zend Mailer は、Quoted Printable および Base64 ヘッダー エンコーディングのみをサポートしています。引用された印刷可能なエンコーディングと一致するように本文をどうすればよいかわかりません...

4

1 に答える 1

7

電子メールの本文はquoted-printableを使用してエンコードされていますが、電子メールで宣言されているmimeタイプはtext / html(またはtext / plainまたはundefined)です。

電子メールの本文のエンコーディングをMIMEヘッダーと一致させる方法はあなた次第です。

于 2011-03-28T11:47:28.060 に答える