そういった仕様は知りませんが、一行に1000文字以上で文字化けするというのは正確にカウントされたのでしょうか。文字化けというのはどのような文字化けですか? もう少し詳しくお願いします。
勘ですけど、メールクライアントを換えてみたら直ったりしないでしょうか。
すみません、実際に手元で試してみたら、化けますね。失礼しました。
おそらく WordPress のメール処理ライブラリで長い行の折り返し処理をしていて、文字の区切りが正しく行われていないのではないかと推測しています。何にしてもプラグイン側でどうこうすべきことではないのですが、少し調べてみますね。
質問するというのに、説明が圧倒的に足りませんでした、すみません。
文字化けの仕方が違うのですが、どうもこちらと殆ど同じような状況のようです。
http://ja.forums.wordpress.org/topic/8398?replies=5
・テキストエリアに改行なしで1000文字以上を入力。
・よくある文字コード絡みの文字化けでは見たことがないような、
「01234567890123…」という全角数字の繰り返しで届く。
・1000文字以上入力していない項目は文字化けしていない。
(つまり、メール全体が文字化けしているわけではない)
・受信はOutlookExpress、Thunderbird、Gmailで試しましたが同じ結果です。
・WPのバージョンは3.4.1、ContactForm7のバージョンは3.2、文字コードはUTF-8を使用しています。
おそらく WordPress のメール処理ライブラリで長い行の折り返し処理をしていて、文字の区切りが正しく行われていないのではないかと推測しています。
まさにそういう状況のようですね!
JQueryで送信前に改行を入れたりできないものかと四苦八苦してみたりしていました。
改行なしの1000文字の文章なんてなかなか遭遇しないシチュエーションなんですが…
2.1.1. Line Length Limits
There are two limits that this standard places on the number of
characters in a line. Each line of characters MUST be no more than
998 characters, and SHOULD be no more than 78 characters, excluding
the CRLF.
http://www.faqs.org/rfcs/rfc2822.html
998文字以内という決まりがあるようですね。
ContactForm7 有り無し、WP Multibyte Patch 有り無し両方でテストしてみましたが、ローカルの wp_mail() の出力では文字化けしていないので、送信経路のどこかで上記制限に引っかかるのだと思います。
データベースにフォームの内容を記録するプラグインを使えば恐らく文字化け前のデータを残すことは可能かと思いますがどうでしょうか。