PowerPartners.ru

Форум партнерской программы
Текущее время: 25 май 2020, 04:25

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 147 ]  На страницу Пред.  1 ... 11, 12, 13, 14, 15
Автор Сообщение
СообщениеДобавлено: 13 май 2020, 10:55 
Не в сети

Зарегистрирован: 22 июл 2012, 13:08
Сообщения: 292
admin писал(а):

В файле /custom/hooks.php просто пропишем следующий код:
Код:
<?php

function onOrderComplete($order, $tmpl) {
  mail('my@mail.ru', 'Новый заказ ' . $order['id'], $order['comments']);
}
И, каждый раз, когда приходит новый заказ, на my@mail.ru будет отсылаться комментарий к нему.

сделал тестовый заказ - оповещение на почту пришло, но в теле письма комментарий в кракозябрах
какой файл за это отвечает? где нужно кодировку поменять?


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 13 май 2020, 12:29 
Не в сети
Администратор

Зарегистрирован: 12 дек 2008, 01:50
Сообщения: 1960
Сам файл /custom/hooks.php должен быть в той же кодировке, что и магазин.

На этом заканчивается "зона ответственности" движка, но далеко не узкие места где могут возникнуть проблемы с кодировкой.

Там еще могут быть проблемы с настройками php, способом отсылки почты и т.д.

Если проблемы остаются, можно, как вариант, можно передавать в хедере кодировку (см. пример)


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 13 май 2020, 15:34 
Не в сети

Зарегистрирован: 22 июл 2012, 13:08
Сообщения: 292
хостер ответил:
Ситуация вызвана отсутствием заголовков, явно указывающих кодировку сообщения UTF-8. Рекомендуем обратиться к разработчику сайта для добавления необходимых инструкций в код страницы.
что добавить в hooks.php для указания кодировки в тексте письма?


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 13 май 2020, 17:29 
Не в сети
Администратор

Зарегистрирован: 12 дек 2008, 01:50
Сообщения: 1960
Молодцы, зачем мучиться с настройкой sendmail если эту проблему можно спихнуть на клиента... Ладно, сделаем костыль.

Код:
...
$subject = '=?UTF-8?B?' . base64_encode('Новый заказ ' . $order['id']) . '?=';
$header = "Content-type: text/plain; charset=utf-8\r\n";
mail('my@mail.ru', $subject, $order['comments'], $header);
...


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 13 май 2020, 18:51 
Не в сети

Зарегистрирован: 22 июл 2012, 13:08
Сообщения: 292
работает, спасибо )


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 13 май 2020, 19:20 
Не в сети
Администратор

Зарегистрирован: 12 дек 2008, 01:50
Сообщения: 1960
Не за что, но, учтите, это - "костыль". По хорошему, это должно решаться настройками сервера.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 13 май 2020, 19:26 
Не в сети

Зарегистрирован: 22 июл 2012, 13:08
Сообщения: 292
хостер не согласен:
Цитата:
Стандарты электронной почты требуют явного указания кодировки для заголовка и тела сообщения при использовании нелатинских символов, т. к. определение кодировки происходит на уровне почтовых клиентов. Как правило, в популярных CMS такой функционал предусмотрен по умолчанию. В вашем случае используется прямой вызов функции mail(), поэтому указание кодировки необходимо производить отдельно.


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 147 ]  На страницу Пред.  1 ... 11, 12, 13, 14, 15

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB