会社のサイトに、名前、電話番号、コメント(およびその他のいくつか)を記載したフォームがあります。コメントボックスでは、最大5000文字を入力できます。これは、非常に冗長な顧客を許可するための大きな制限です。有効なフォームの内容は、phpフォームメールを使用してプレーンテキストの電子メールとして営業部門に送信されます。
何らかの理由で、コメントが約1000文字より長い場合、感嘆符、改行、場合によってはインデントが挿入されます。これは電子メールにのみ適用されることに注意してください。フォームにエラーがある場合、データはフォームに挿入され、エラーがマークされます。コメントには、感嘆符と改行がまだありません。
この問題の原因となる約990文字の文字制限があることを示唆するフォーラム投稿を1つ見つけました。
誰かが原因を知っていますか?誰かがこれのかなり簡単な修正を知っていますか?
関連するPHPコード:
$to = $email;
$subject = "Website Order Received: $offer";
$contents = "
Order Form Received -\n
Name: $name\n
Company: $company\n
Email: $email\n
Phone: $phone $phoneExt\n
Order Contents:\n" .
($offer == 'web-demo' ? "- I want a live software demonstration.\n" : "") .
($offer == 'pricing' ? "- I'd like pricing information.\n" : "") .
($offer == 'holiday-pricing' ? "- I'd like to sign up before December 31st for the special holiday offer!\n" : "") .
($offer == 'bid-help' ? "- Please give me marketing materials and other assistance for winning bids.\n" : "") .
($offer == 'demo-cd' ? "- Send me the full-version demonstration CD.\n" : "");
if (!empty ($comments)) {
$comments = str_replace("
", "\n", $comments); // Preserves line breaks in the comments.
$contents = $contents."\nComments: $comments\n\n";
}
$contents = str_replace("\n", "\r\n", $contents);
mail($to, $subject, $contents);