Всё, кроме ключа, работает: подписка собирается, письма формируются, расписание стоит в cron. Осталось завести шлюз.
Шлюз выбран российский - Unisender Go. Причины: регистрация без почтового адреса компании, нет риска, что аккаунт отключат по стране, поддержка и документация на русском, оплата рублями. Brevo остался в коде запасным каналом: если понадобится, переключение делается вписыванием другого ключа, править ничего не нужно.
Frantlas@yandex.ru, пароль - общий пароль проекта.Бесплатно на старте хватает: тариф считается по числу писем, а мы шлём одно письмо в неделю на подписчика.
Письма уходят от 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. Тот же адрес назван в подписи письма словами,
чтобы человек видел, куда писать.
В кабинете: настройки → API → создать ключ. Дальше одной командой на сервере (подставить вместо СЮДА):
echo 'export UNISENDER_GO_KEY=СЮДА' >> ~/.config/secrets.env
Или продиктовать ключ мне, впишу сама. Перезапускать ничего не нужно.
python3 сайт/рассылка.py --подтвержденияpython3 сайт/рассылка.py --выпуск неделя --сухойpython3 сайт/рассылка.py --проба ваша@почта.ру| Что | Где |
|---|---|
| Приём подписки, подтверждение, отписка | сайт/подписка.py |
| Сборка и отправка выпусков | сайт/рассылка.py |
| Письма с формы обратной связи | сайт/письма.py |
| Запуск по расписанию | сайт/рассылка-по-расписанию.sh, cron по понедельникам и первого числа |
| База подписчиков | сайт/данные/подписчики.json (наружу не отдаётся) |
| Журнал выпусков | сайт/данные/рассылка-журнал.json |
| Лог расписания | сайт/данные/рассылка.log |
База выгружается таблицей: python3 сайт/рассылка.py и рядом
python3 сайт/подписка.py --выгрузка даёт CSV с адресами и форматами.
Перенос на другой сервис - правка одной функции отправки.