Письма с нашего сайта (о заказе, о поступлении товара и др.) отправляются через SMTP Яндекса. Сегодня все письма стали приходить без темы, т.е. тема письма внезапно стала пустая! Обратились в техподдержку Яндекса с этим и вот их ответ:
Добрый день Павел! Мы обновили правила по обработке заголовков писем. Теперь использовать кодировки UTF-8 нельзя. Рекомендуем формировать заголовки и тело писем в соответствии с RFC-стандартами ( https://datatracker.ietf.org/doc/html/rfc5322#section-2.2), корректно обрабатывая и экранируя непечатные символы.
Нужна помощь поправить это на сайте. Полагаю, что поправить нужно будет файл system/library/mail.php, который прилагаю. Могу дать доступ к сайту. Обращаю внимание еще раз, отправка не через PHPMAIL а через SMTP.
Цену пишите вы, я не знаю насколько сложная проблема!
Оставлять заявки могут только авторизованные пользователи.
Готов выполнить задание. Занимаюсь созданием и доработкой сайтов на OpenCart более 10 лет. Примеры моих работ см. в портфолио.
Мои контакты:
Телеграм: v21021
Скайп: volma1803
Здравствуйте!
Я могу вам предложить:
Логотип;
Дизайн веб-сайта и мобильного приложения;
Адаптивная CCS+JS вёрстка сайта;
Крутой "Сайт под ключ";
Программирование – WordPress, ModX, Bitrix, OpenCart, Drupal, и др.;
Программирование очень сложных проектов – Django, Symfony, Laravel;
Доработка и техподдержка проектов на любых фреймворках;
Наполнение сайтов с погружением в тему;
Разработка "под ключ" мобильных приложений;
Продвижение и контекстная реклама с прозрачными отчётами за месяц.
Здравствуйте.
По факту нужен файл system/library/mail/smtp.php
Но я посмотрел его на гитхабе, и могу сказать, что надо заменить 3 строчки в нем, а именно кодирование base64 на quoted-printable. То есть
$header .= 'Subject: =?UTF-8?B?' . base64_encode($this->option['subject']) . '?=' . PHP_EOL;
меняем на
$header .= 'Subject: =?UTF-8?Q?' . quoted_printable_encode($this->option['subject']) . '?=' . PHP_EOL;
и всё.
аналогично можно поступить со строчками From и Reply-to.
но если письма приходят только с пустой темой, а все остальное нормально, то можно и не трогать.
Если сами не разберетесь, готов заняться.
Доброго времени суток. Я mail.php поправил поставил метки, где изменил.
Важно:
1. Убедитесь, что на сервере включено расширение `mbstring`.
2. Все входящие данные (темы, имена) должны быть в кодировке UTF-8.
3. Для SMTP-отправки изменения не требуются — тема и имя отправителя уже закодированы корректно.
Тестирование:
После внесения правок проверьте отправку писем:
- С кириллическими темами: `"Тестовый заказ №123"`
- С спецсимволами: `"Ваш счет: 100$"`
- С длинными темами (>75 символов).
Темы должны отображаться корректно в почтовых клиентах.
Что нужно сделать
Изменение кодировки заголовков: Вам нужно убедиться, что заголовки формируются в соответствующей кодировке. Для этого можно использовать стандартные наборы символов (например, ASCII) и экранирование символов.
Правки в mail.php: Если вы предполагаете, что нужно изменить файл system/library/mail.php, я бы рекомендовал внести следующие изменения:
Убедиться, что заголовок Subject кодируется корректно согласно стандарту RFC 5322.
Проверить, что нет непечатных символов в заголовках.
Пример
Вот модификация кода, которая может помочь:
php
public function setSubject($subject) {
// Убираем возможные непечатные символы и скрытые символы
$subject = $this->cleanSubject($subject);
Opencart 1.5 - исправить кодировку писем
Реклама
Opencart 1.5 - исправить кодировку писем
Письма с нашего сайта (о заказе, о поступлении товара и др.) отправляются через SMTP Яндекса. Сегодня все письма стали приходить без темы, т.е. тема письма внезапно стала пустая! Обратились в техподдержку Яндекса с этим и вот их ответ:
Добрый день Павел! Мы обновили правила по обработке заголовков писем. Теперь использовать кодировки UTF-8 нельзя. Рекомендуем формировать заголовки и тело писем в соответствии с RFC-стандартами ( https://datatracker.ietf.org/doc/html/rfc5322#section-2.2), корректно обрабатывая и экранируя непечатные символы.
Нужна помощь поправить это на сайте. Полагаю, что поправить нужно будет файл system/library/mail.php, который прилагаю. Могу дать доступ к сайту. Обращаю внимание еще раз, отправка не через PHPMAIL а через SMTP.
Цену пишите вы, я не знаю насколько сложная проблема!
Другие открытые задания:
Разработать лендинг на Tilda5 000 р.
Бюджет: 5 000 р. Нужен самый простой одностраничный сайт под страйп. Есть готовый пример. Срок работы 1-2-3 дня
Дизайн интерьера, собрать коллаж и подобрать материалы, мебель и декор15 000 р.
Бюджет: 15 000 р. Нужно собрать коллаж/мудборд комнаты и санузла отражающий концепцию проекта с внесение в него фишек и креативных деталей. Это максимально творческое задание для диз…
Создать код для определения местоположения мобильного телефона150 000 р.
Бюджет: 150 000 р. Сделать аналог Яндекс.Локатора (иеется только функционал по определению местоположения) но, не только по WiFi, а и с использованием Блютус устройств окружения. Нео…
поиск заданий