На самом деле, это не проблема «почтового сервера». Ограничение SMTP-строки определяет количество символов, допустимое для каждой строки во время передачи. SMTP RFC допускает до 1000 символов в строке, а установленный по умолчанию постфикс с установленным ограничением составляет 998 символов. Вам следует связаться с вашим хостинг-провайдером для увеличения лимита линии SMTP, если вы считаете, что необходимо превышать RFC.

узнать, есть ли какие-либо функции / классы / и т. Д., Чтобы помочь с ограничением в 990 символов для электронной почты, поскольку мой HTML выполняется из-за этого.

Проблема: (Источник)

Обратите внимание, что почтовые серверы имеют ограничение в 990 символов в каждой строке, содержащейся в сообщении электронной почты. Если отправлено сообщение электронной почты, которое содержит строки длиной более 990 символов, эти строки будут подразделены дополнительными символами конца строки, что может привести к повреждению в сообщении электронной почты, особенно для содержимого HTML. Чтобы этого не происходило, добавьте свои собственные символы конца строки в соответствующие места в сообщении электронной почты, чтобы ни одна строка не превышала 990 символов.

У кого-нибудь еще есть эта проблема? и как ты это исправил?

Похоже, мне нужно найти хорошее место, чтобы разбить мой HTML и вручную добавить разрыв строки, тьфу ...

ОБНОВИТЬ:

Это табличные данные со многими строками. Так что мне нужно добавить \ n или<br /> где-то?

ОБНОВЛЕНИЕ № 2: Добавление кода типа MIME

$headers  = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1\r\n";
$headers .= "Content-Transfer-Encoding: quoted-printable\r\n"; // added this, but still no results
$headers .= "From: [email protected]\r\n";

Вот как я вызываю функцию (и):

Как я изначально звонил:

return $html;

Что я пробовал:

return imap_8bit($html); // not working, nothing is captured in the error log

А ТАКЖЕ

return imap_binary($html); // not working, nothing is captured in the error log

ОБНОВЛЕНИЕ № 3 (Добавление функции почты)

try {
    mail(
        '[email protected]',
        'Subject of Email',
        $html,
        $headers
        );
    } catch (Exception $e) {
        echo ("ERROR: Email NOT sent, Exception: ".$e->getMessage());
    }

Пример HTML (Это сообщение электронной почты в формате HTML) (Это также относится к классу, который является частью службы XMLRPC)

private function getHTML() {
    $html  = '<html><head><title>Title</title></head><body>';
    $html .= '<table>';
    $html .= '<tr><td>many many rows like this</td></tr>';
    $html .= '<tr><td>many many rows like this</td></tr>';
    $html .= '<tr><td>many many rows like this</td></tr>';
    $html .= '<tr><td>many many rows like this</td></tr>';
    $html .= '<tr><td>many many rows like this</td></tr>';
    $html .= '</table>';
    $html .= '</body>';
    $html .= '</html>';

    return $html;
    //return imap_8bit($html); // not working, nothing is captured in the error log
    //return imap_binary($html); // not working, nothing is captured in the error log
    // Both of these return the XMLRPC Fault Exception: 651 Failed to parse response
}

Исключение ошибки: 651 Не удалось разобрать ответ, в основном не нравится формат или способ возврата данных.

Ответы на вопрос(3)

Ваш ответ на вопрос