Ваша корзина пуста

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

Как добавить возможность клиентам интернет-магазина отписаться от писем, которые отправляет PrestaShop? В частности интересует, изменение в коде, чтобы любой почтовый клиент (включая клиенты для iOS, Android) "знал", что письмо отправлено как рассылка и от нее можно отписаться.

Это делается изменением в классе /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().