Отправка рассылок
Через что уходят письма рассылок, от чьего имени и с какой скоростью: свой SMTP или сервис, плавный старт, проверка SPF, DKIM и DMARC, стоп-лист и частые проблемы.
На этой странице
Здесь настраивается, как уходят письма рассылок: через какой сервис, от чьего имени и с какой скоростью. Здесь же магазин проверяет, готов ли ваш домен к массовым письмам, и ведёт стоп-лист адресов, на которые писать больше нельзя. Всё это лежит в «Настройки платформы» → «Уведомления» → «Отправка рассылок». Сами рассылки описаны на странице Рассылки покупателям.
Рассылки и письма о заказах разведены намеренно. Если на рассылку пожалуются и почтовые службы начнут отправлять ваши письма в спам, письма о заказах не должны пострадать вместе с ней.
Слева на странице пять блоков: «Сервис отправки», «Отправитель», «Скорость отправки», «Готовность домена» и «Стоп-лист». Сотрудник без права менять настройки магазина, но с правом вести рассылки видит только стоп-лист.
Сервис отправки
В блоке «Сервис отправки» выберите в поле «Через что отправлять»:
«Как уведомления о заказах». Рассылки уходят тем же почтовым сервером, что и письма о заказах, из «Настройки платформы» → «Уведомления» → «Каналы связи». Это проще всего и стоит по умолчанию. Но если на рассылку пожалуются, пострадают и письма о заказах. Если почта уведомлений не настроена или выключена в «Каналах связи», рассылки через неё не уходят.
«Свой почтовый сервер (SMTP)». Отдельный сервер только для рассылок. Так же подключаются сервисы рассылок, которые принимают письма по SMTP: SendPulse, eSputnik, Unisender Go, Brevo, Amazon SES. Поля:
| Поле | Что вписать |
|---|---|
| Адрес сервера | например, smtp.example.com |
| Порт | обычно 587 или 465 |
| Шифрование | «TLS (порт 587)», «SSL (порт 465)» или «Без шифрования» |
| Логин | обычно адрес почты или логин из кабинета сервиса |
| Пароль | пароль или ключ для SMTP из кабинета сервиса |
| Не проверять сертификат сервера | включайте, только если ваш сервер работает с сертификатом собственной выписки |
Пароль после сохранения не показывается. Если оставить поле пустым при следующем сохранении, магазин сохранит прежний пароль. Настройки каждого сервиса хранятся отдельно: переключились на другой сервис и обратно — пароль не пропал.
Сервис из дополнения. Дополнения добавляют в этот список сервисы рассылок, которые работают через свой API. Поля подключения у каждого свои, их называет дополнение. Если выбранный сервис пропал (дополнение выключили), магазин предупреждает: «Выбранный сервис отправки сейчас недоступен». Пока вы не выберете другой, письма рассылок не уходят.
Нажмите «Сохранить».
Проверочное письмо
Ниже есть блок «Проверочное письмо». Впишите свой адрес и нажмите «Отправить». Письмо уходит по сохранённым настройкам, поэтому сначала сохраните, потом проверяйте. Если письмо не ушло, магазин покажет ответ сервера. Если ушло, проверьте, в какую папку оно попало: если в «Спам», загляните в блок «Готовность домена».
Ссылка для отчётов о доставке
Некоторые сервисы рассылок сообщают магазину о судьбе писем: ящика нет, получатель пожаловался на спам, отписался кнопкой в почтовой программе. Для таких сервисов в блоке появляется поле «Ссылка для отчётов о доставке» и кнопка «Копировать». Вставьте ссылку в кабинете сервиса, в настройках уведомлений о возвратах и жалобах.
Ссылка выглядит как https://ваш-магазин/mailings/feedback/код-сервиса/ключ.
Ключ магазин создаёт один раз, и потом он не меняется. Магазин должен
открываться из интернета, иначе сервис до него не достучится.
Что магазин делает с отчётом:
- ящика нет — письмо в отчёте рассылки становится «Не дошло», адрес попадает в стоп-лист с причиной «Ящика нет»;
- жалоба на спам — адрес попадает в стоп-лист, в карточке покупателя появляется отказ от рассылок, жалоба видна в отчёте рассылки;
- отписка — отметка в отчёте рассылки, адрес в стоп-листе, отказ в карточке.
У вариантов «Как уведомления о заказах» и «Свой почтовый сервер» отчётов нет: обычный почтовый сервер их не присылает. Тогда магазин знает об отписках по ссылке в письме и кнопке почтовой службы, а о недоставке — только если сервер отказал сразу при отправке. Такие письма в отчёте будут «Не дошло», но в стоп-лист они не попадают.
Отправитель
| Поле | Что делает |
|---|---|
| Адрес отправителя | с какого адреса уходят рассылки, например news@shop.com |
| Имя отправителя | его покупатель видит в списке писем, например название магазина |
| Адрес для ответов | сюда придёт ответ покупателя на рассылку |
Если поля оставить пустыми:
- адрес отправителя у варианта «Как уведомления о заказах» берётся из почты уведомлений, а если там его нет, из почты магазина в «Настройки платформы» → «Настройки магазина» → «Основные настройки». У остальных сервисов сразу берётся почта магазина из основных настроек. Что именно подставится, видно серым в пустом поле;
- имя отправителя берётся так же: у варианта «Как уведомления о заказах» — из почты уведомлений, а если там его нет, подставляется название магазина; у остальных сервисов сразу подставляется название магазина. Его тоже видно серым в пустом поле;
- ответы приходят на адрес отправителя.
Адрес отправителя должен быть на вашем домене. С адресов gmail.com, ukr.net, i.ua и других бесплатных служб массовые письма почтовые службы отправляют в спам: настроить подпись для чужого домена нельзя.
Скорость отправки
«Писем в час, не больше» и «Писем в сутки, не больше» задают пределы. Их называет ваш почтовый сервер или тариф сервиса рассылок. Пустое поле — без ограничения.
- Час считается скользящий: последние 60 минут. Как только из этого окна выйдет самое раннее письмо, можно отправить следующее.
- Сутки считаются календарные, по часовому поясу магазина.
- Считаются только письма рассылок. Письма о заказах и проверочные письма в пределы не входят.
Дойдя до предела, рассылка ставится на паузу и продолжает сама, когда отправлять снова можно. В отчёте рассылки в это время написано «Ждёт предела отправки» и когда она продолжится. Большая рассылка на скромном пределе может идти несколько дней, и это нормально.
Плавный старт
Почтовые службы настороженно встречают новый домен или сервер: тысяча писем в первый же день с него уходит в спам. Переключатель «Плавный старт» начинает с малого и каждый день увеличивает суточный предел в полтора раза.
В поле «Писем в первый день» укажите, с чего начать: не меньше 10. Если оставить пустым, первый день — 200 писем. Тогда пределы такие:
| День | Писем в сутки |
|---|---|
| 1 | 200 |
| 2 | 300 |
| 3 | 450 |
| 4 | 675 |
| 5 | 1 012 |
| 6 | 1 518 |
| 7 | 2 278 |
| 10 | 7 688 |
| 14 | 38 923 |
Первый день — тот, в который вы включили плавный старт, дни считаются по часам магазина. Через месяц плавный старт заканчивается сам, и остаётся только ваш предел в сутки. Если задан и предел в сутки, и плавный старт, действует меньший из них. Если выключить плавный старт и включить снова, отсчёт начнётся заново с первого дня.
Блок «Отправлено рассылками» показывает, сколько писем ушло «За последний час» и «Сегодня», и «Предел на сегодня» с учётом плавного старта.
Готовность домена
Gmail, Yahoo и другие почтовые службы принимают рассылки только от доменов, у которых настроены записи SPF, DKIM и DMARC. Блок «Готовность домена» проверяет домен адреса отправителя и показывает по каждой записи, что не так. Сами записи добавляются у регистратора домена или в панели хостинга, а какие именно, подскажет ваш сервис отправки. После правки нажмите «Проверить снова». Записи у регистратора иногда расходятся по интернету несколько часов.
| Проверка | Что значит результат |
|---|---|
| SPF — кому разрешено слать от имени домена | «Запись есть» — всё в порядке. Если запись разрешает слать кому угодно (+all), магазин предупреждает: почтовые службы такой записи не доверяют. Если записи нет, добавьте TXT-запись от вашего сервиса отправки |
| DKIM — подпись писем | Чтобы проверить подпись, нужен её селектор. Если его нет, магазин просит его указать. Если селектор указан, а записи нет, сверьте селектор с кабинетом сервиса |
| DMARC — что делать с поддельными письмами | Если записи нет, добавьте TXT-запись для _dmarc.ваш-домен. Для начала подойдёт v=DMARC1; p=none |
| Почтовый ящик домена | Если у домена нет почтового сервера, ответы покупателей и уведомления о недоставке уйдут в никуда |
Селектор DKIM — короткое слово из кабинета сервиса отправки, например
default, mail или s1. Впишите его в блоке «Селектор подписи DKIM» и
нажмите «Сохранить». Он нужен только для проверки.
Если адрес отправителя на бесплатной почтовой службе (gmail.com, ukr.net и подобных), проверок не будет: магазин сразу скажет, что с такого адреса рассылки уходят в спам, и предложит завести адрес на домене магазина. Если адреса отправителя нет совсем, проверять нечего, и магазин попросит его указать.
Стоп-лист
На адреса из стоп-листа рассылки больше не уходят. Письма о заказах стоп-лист не останавливает. Адреса из стоп-листа не считаются получателями: число в «Посчитать получателей» их уже не включает.
Кто попадает в стоп-лист:
| Причина | Когда |
|---|---|
| Отписался | человек нажал «Отписаться» в письме или кнопку отписки в почтовой программе, либо отписку прислал сервис рассылок |
| Ящика нет | сервис рассылок сообщил, что письмо вернулось |
| Пожаловался на спам | сервис рассылок сообщил о жалобе |
| Внесён вручную | адрес добавил сотрудник |
Если на один адрес приходит несколько причин, остаётся самая весомая: жалоба важнее возврата, возврат важнее отписки. При отписке и жалобе магазин ставит ещё и отказ от рассылок во все карточки покупателей с этим адресом. Возврат письма и ручное добавление карточку не меняют.
В списке видны адрес, причина, рассылка, из-за которой адрес попал сюда, подробности от сервиса и дата. Поле «Поиск адреса» ищет по адресу, а список «Все причины» оставляет одну причину.
Добавить вручную. Если человек по телефону попросил больше не писать ему, впишите адрес в поле «Адрес, на который больше не писать» и нажмите «Добавить».
Убрать из стоп-листа. Нажмите значок корзины в строке адреса, например если ящик починили или человек снова подписался. Если человек отказался от рассылок в своей карточке, отказ останется, и рассылки ему всё равно не придут, пока он снова не даст согласие. Новое согласие покупателя, наоборот, адрес из стоп-листа не убирает: это делаете вы.
Стоп-лист видит и меняет сотрудник с правом «Менять настройки магазина» или «Вести скидки и рассылки».
Частые проблемы
Проверочное письмо пришло, а рассылка не уходит. Проверочное письмо отправляется сразу, а рассылка — через очередь задач, которую разбирает планировщик. Проверьте строку планировщика, см. Обслуживание.
«Почта уведомлений не настроена» или «Почта уведомлений выключена в «Каналах связи»». Выбран вариант «Как уведомления о заказах», а почта уведомлений не настроена или выключена в «Настройки платформы» → «Уведомления» → «Каналы связи». Настройте её там или выберите для рассылок свой сервер.
«Не указан адрес отправителя». Впишите его в блоке «Отправитель» или укажите почту магазина в основных настройках.
Письма уходят в спам. Пройдите блок «Готовность домена»: все проверки должны быть «Запись есть». Не отправляйте с бесплатной почты. Для нового домена или сервера включите плавный старт. Посмотрите вкладку «Доставка» в отчёте рассылки: если плохо только у одной почтовой службы, дело в ней.
Рассылка долго стоит «Ждёт предела отправки». Так и задумано: дойдя до предела, рассылка ждёт и продолжает сама. Если пределы ниже, чем позволяет ваш тариф, поднимите их в блоке «Скорость отправки».
Все письма рассылки «Не дошло». Сервер отказывал при отправке, например из-за неверного пароля. Причина видна во вкладке «Доставка» отчёта, в блоке «Почему не дошло». Исправьте настройки и отправьте себе проверочное письмо. Кнопка «Дослать» досылает только тем, кто ещё ждёт отправки, поэтому тем, кому письмо не дошло, отправьте повтор: кнопка «Повторить» в отчёте, вариант «Тем, кому письмо не дошло» (подробнее).
Рассылка «сорвалась» с советом проверить канал рассылки. Части писем не удалось уйти после нескольких попыток. Проверьте сервис отправки проверочным письмом и нажмите «Дослать» в отчёте.
В отчёте нет жалоб на спам. Жалобы магазин узнаёт только из отчётов сервиса рассылок. У своего почтового сервера их нет, а у сервиса из дополнения нужно вставить ссылку для отчётов в его кабинет.
Для разработчиков дополнений
Сервис отправки рассылок подключается драйвером. Дополнение реализует
App\Core\Contracts\MailingServiceDriver и регистрирует его в своём
PluginServiceProvider:
$this->registerDriver(MailingServiceDriver::class, 'acme', AcmeMailingDriver::class);
| Метод | Что возвращает |
|---|---|
code() |
код сервиса в настройках, например acme |
title(), description() |
название и одна фраза для владельца магазина: ключ перевода или готовая строка |
settingsSchema() |
поля подключения в формате SchemaFields. Тайные поля помечаются secret: true: панель их не показывает, а пустое значение при сохранении оставляет прежнее |
send(MailingMessage $message, array $config) |
['ok' => bool, 'message' => string], по желанию id (номер письма у сервиса) и retry_after (сервис просит подождать столько секунд) |
MailingMessage уже содержит отправителя, адрес для ответов, заголовки
отписки в один клик и метки campaign и recipient в tags. Передайте их
сервису, чтобы он вернул их в отчётах. Стоп-лист, пределы скорости и
отправителя по умолчанию магазин применяет сам, до вызова send().
Если сервис присылает отчёты о возвратах и жалобах, драйвер реализует ещё и
App\Core\Contracts\ReceivesMailingFeedback. Его метод
feedback(Request $request, array $config) разбирает присланный отчёт и
возвращает список событий ['address' => …, 'type' => …, 'details' => …, 'campaign_id' => …], где type — bounced, complained, unsubscribed
или delivered. Подлинность отчёта (подпись сервиса) проверяет сам драйвер:
неподлинный отчёт — пустой список. Только у таких сервисов в настройках
появляется «Ссылка для отчётов о доставке».