JoomlaのメールコンポーネントにJoomlaに統合されたPHPMailerライブラリを使用しています。それは非常にうまく機能しますが、1and1メールサーバーでスクリプトを実行しているユーザーに問題があります。次のようなエラーが発生する可能性があります。
2012-06-14 18:20:34 u65913791 1x1et0-1RocCH2xzU-00qzkqメールテキスト送信後のEEトランザクションエラー:msmtp.kundenserver.de[172.19.35.7] 500行制限を超えました
別のユーザーからの別の例:
データ終了後のリモートメールサーバーからのSMTPエラー:ホストmx00.1and1.co.uk [212.227.15.134]:500行制限を超えました
行制限は、行数ではなく、1行で実際に使用される文字数であり、1and1は10240文字に制限されます(回答をサポート)。これは、RFC2822で必要とされる文字数の10倍です。
この問題は、電子メールの送信時に「間違った」行区切り記号を使用して、電子メール全体が1行として電子メールサーバーに到達することが原因であると考えられます。PHPMailerが失敗するので、スクリプトに必ず改行を挿入する必要があると思います。
現在、WYSIWYGエディターからHTMLコンテンツを受け取り、PHPMailerオブジェクトに入れています。
// snip, $mail2send is the JMail instance, which inherits PHPMailer
$mail2send->setSubject($mail->subject);
$mail2send->IsHTML(true);
$mail2send->setBody($mail->body);
// snip
適切な改行を挿入するにはどうすればよいですか?