Как добавить возможность отписки от рассылки?

0 голосов
Приветствую!
Как добавить возможность клиентам интернет-магазина отписаться от писем, которые отправляет PrestaShop? В частности интересует, изменение в коде, чтобы любой почтовый клиент (включая клиенты для iOS, Android) "знал", что письмо отправлено как рассылка и от нее можно отписаться.
спросил 20 Янв, 17 от dnn (25 баллов) в категории Модификация
редактировать 28 Янв, 17 от zapalm

1 Ответ

+1 голос
Лучший ответ

Это делается изменением в классе /classes/Mail.php. Его нужно переопределить - в этом ответе не поясняю, как это сделать.

Нужно добавить две строчки кода:

// Заголовок письма, означающий, что это рассылка
$message->headers->set('Precedence', 'bulk');
// Заголовок письма, указывающий на URL для отписки от рассылки
$message->headers->set('List-Unsubscribe', '<' . self::$unsubscribeUrl . '>');

После строчки:

$message->headers->setEncoding('Q');

В приведенном примере, переменная self::$unsubscribeUrl - это сформированный URL для отписки конкретного получателя письма, т.е, для каждого получателя должен быть свой собственный URL. Его нужно устанавливать перед запуском отправки письма, т.е. перед Mail::Send().

ответил 28 Янв, 17 от zapalm (184 баллов)
выбран 28 Янв, 17 от dnn
Спасибо! Дальше разберусь :D
Добро пожаловать на сайт. Здесь можно задавать вопросы по CMS PrestaShop и получать на них ответы.