Избегание ошибки превышения лимита в 500 строк при отправке электронных писем

Я использую библиотеку PHPMailer, интегрированную в Joomla , для компонента электронной почты в Joomla. Это работает довольно хорошо, однако у меня возникают проблемы с пользователями, запускающими скрипт с почтовыми серверами 1 и 1. Они могут получить такие ошибки:

2012-06-14 18:20:34 u65913791 1x1et0-1RocCH2xzU-00qzkq EE transaction error after sending of mail text: msmtp.kundenserver.de[172.19.35.7] 500 Line limit exceeded

Другой пример от другого пользователя:

SMTP error from remote mail server after end of data: host mx00.1and1.co.uk [212.227.15.134]: 500 Line limit exceeded

Ограничение строки касается не того, сколько строк, а того, сколько символов фактически используется в одной строке, которая 1 и 1 ограничивается 10240 символами (ответ службы поддержки)-что на самом деле в 10 раз больше, чем требуется в RFC 2822 .

Я предполагаю, что проблема вызвана использованием «неправильных» разделителей строк при отправке электронных писем, так что все электронное письмо достигает почтового сервера в виде одной строки. Я предполагаю, что мне нужно обязательно вставлять разрывы строк в мой скрипт, поскольку PHPMailer не может этого сделать.

В настоящее время я просто получаю содержимое HTML из редактора WYSIWYG -и помещаю его в объект PHPMailer :

// snip, $mail2send is the JMail instance, which inherits PHPMailer
$mail2send->setSubject($mail->subject);
$mail2send->IsHTML(true);
$mail2send->setBody($mail->body);   
// snip

. Как я могу вставить соответствующие разрывы строк?

5
задан hbit 28 July 2012 в 10:28
поделиться