ФРАНТЛАС · черновик для внешней площадки
В статье
Черновик.

Как включить отправку писем (10 минут вашего времени)

Всё, кроме ключа, работает: подписка собирается, письма формируются, расписание стоит в cron. Осталось завести шлюз.

Шлюз выбран российский - Unisender Go. Причины: регистрация без почтового адреса компании, нет риска, что аккаунт отключат по стране, поддержка и документация на русском, оплата рублями. Brevo остался в коде запасным каналом: если понадобится, переключение делается вписыванием другого ключа, править ничего не нужно.

Шаг 1. Аккаунт

  1. Открыть https://go.unisender.ru, зарегистрироваться.
  2. Почта - Frantlas@yandex.ru, пароль - общий пароль проекта.
  3. Подтвердить адрес письмом.

Бесплатно на старте хватает: тариф считается по числу писем, а мы шлём одно письмо в неделю на подписчика.

Шаг 2. Домен отправителя

Письма уходят от pisma@frantlas.ru, а не с ящика на yandex.ru: почтовые службы сверяют домен отправителя с доменом ссылок в письме, и расхождение уводит письмо в спам.

В кабинете: добавить домен frantlas.ru, сервис покажет две-три записи (DKIM, SPF, иногда DMARC). Их нужно добавить в DNS у reg.ru - доступ к домену у вас, это те же настройки, где вы добавляли TXT-запись для Google Search Console 07.09.

Ящик pisma@frantlas.ru заводить не нужно: он существует только как адрес отправителя. Ответы читателей и уведомления о недоставке уходят на Frantlas@yandex.ru - это поле «обратный адрес» в каждом письме, настроено 09.09.2026. Тот же адрес назван в подписи письма словами, чтобы человек видел, куда писать.

Шаг 3. Ключ

В кабинете: настройки → API → создать ключ. Дальше одной командой на сервере (подставить вместо СЮДА):

echo 'export UNISENDER_GO_KEY=СЮДА' >> ~/.config/secrets.env

Или продиктовать ключ мне, впишу сама. Перезапускать ничего не нужно.

Что произойдёт после ключа

  • Каждый новый подписчик получит письмо с просьбой подтвердить адрес. Без подтверждения выпуски ему не уходят: это защита от чужих адресов в форме и от жалоб на спам.
  • Подписавшимся до включения подтверждения разошлются командой: python3 сайт/рассылка.py --подтверждения
  • По понедельникам в 10:00 уходит недельный выпуск (три статьи), первого числа в 10:00 - месячный (один разбор). Задания уже в cron, до появления ключа они просто пишут в лог.
  • Проверить, что получится, не отправляя: python3 сайт/рассылка.py --выпуск неделя --сухой
  • Отправить образец себе: python3 сайт/рассылка.py --проба ваша@почта.ру
  • Письма с формы «Связаться с нами» пойдут тем же шлюзом: сейчас они копятся на сервере, потому что отправлять их нечем.

Где что лежит

Что Где
Приём подписки, подтверждение, отписка сайт/подписка.py
Сборка и отправка выпусков сайт/рассылка.py
Письма с формы обратной связи сайт/письма.py
Запуск по расписанию сайт/рассылка-по-расписанию.sh, cron по понедельникам и первого числа
База подписчиков сайт/данные/подписчики.json (наружу не отдаётся)
Журнал выпусков сайт/данные/рассылка-журнал.json
Лог расписания сайт/данные/рассылка.log

Если сервис однажды не устроит

База выгружается таблицей: python3 сайт/рассылка.py и рядом python3 сайт/подписка.py --выгрузка даёт CSV с адресами и форматами. Перенос на другой сервис - правка одной функции отправки.