К содержанию

Modx3 кодировка писем

Добрый день. Обычная форма, отправляется через Ajaxform. Письма выглядят вот так

В настройках ничего не менял. В общем, пока сделал костыль в виде своего сниппета с отправкой через php mail, но проблему всё же хотелось бы решить. На modx2 такого никогда не возникало.
Евгений Ц.
Евгений Ц.
19 апреля 2022, 17:55
modx.pro
1 863
Реклама

Комментарии: 5

nikolrazumov
nikolrazumov Старожил
19 апреля 2022, 21:20
тут решение проблемы
У самого такая проблема была.
открываем файл /core/src/Revolution/Mail/modPHPMailer.php
ищем строку 225 и вот это:
if (strpos($this->mailer->ContentType, 'html') !== false) {
                if (!empty($this->mailer->Body)) {
                    $html = new InlineStyle($this->mailer->Body);
                    /** @noinspection PhpParamsInspection */
                    $html->applyStylesheet($html->extractStylesheets());
                    $this->mailer->Body = $html->getHTML();
                }
            }
Заменить этим
if (strpos($this->mailer->ContentType, 'html') !== false) {
                if (!empty($this->mailer->Body)) {
                    $body = $this->mailer->Body;
                    // Turn UTF-8 characters into entities
                    $body = mb_convert_encoding($body, 'HTML-ENTITIES', "UTF-8");
                    $html = new InlineStyle($body);
                    /** @noinspection PhpParamsInspection */
                    $html->applyStylesheet($html->extractStylesheets());
                    $this->mailer->Body = $html->getHTML();
                }
            }
Письма будут в нормальной кодировке.
    Евгений Ц.
    Евгений Ц. Старожил
    20 апреля 2022, 13:13
    Спасибо!
    Alexandr
    Alexandr Старожил
    07 мая 2022, 17:58
    Та же проблема. Можно это сделать без правок системных файлов.

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    </head>
        <body style="margin: 0; padding: 0;">
            <strong>Текст письма</strong>
        </body>
    </html>
    Вообще с Modx 3 много проблем. Многие компоненты просто с ней не работают.
      Иван Бочкарев
      Иван Бочкарев Администратор
      10 мая 2022, 16:40
      Та же проблема. Можно это сделать без правок системных файлов.
      — нет
      Евгений Ц.
      Евгений Ц. Старожил
      10 мая 2022, 17:47
      Можно написать свой сниппет и отправлять им, как я изначально и поступил.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        5