Письма с нашего сайта (о заказе, о поступлении товара и др.) отправляются через 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.
Цену пишите вы, я не знаю насколько сложная проблема!
Другие открытые задания:
Создание расчетной схемы в SСAD по существующему КМ20 000 р.
Бюджет: 20 000 р. Создание расчетной схемы в SСAD по существующему КМ Работы делятся на два этапа: Этап №1 По существующим чертежам марки КМ создать стержневую модель в SСAD. …
Продвинуть сайт по ключевым запросам продажа и подбор автомобилей15 000 р.
Бюджет: 15 000 р. Требуется продвинуть сайт автоуслуг NearCar.ru на постоянной основе в ТОП-10 по услугам (продажа автомобиля, подбор автомобиля) регион Санкт-Петербург и Ленинградск…
Требуется фронтенд-разработчик (фриланс) для проекта панели управления на VueJS100 000 р.
Бюджет: 100 000 р. Привет! Мы ищем freelance фронтенд-разработчика, который присоединится к нашей команде для работы над проектом панели управления, дизайн которой уже готов в Figm…
поиск заданий