Урок 7 / 22 · Commentail 1.3.2
API подходит, когда ваш сервис выдаёт ключ для отправки по HTTPS. Commentail передаёт письмо Django backend; здесь таким backend будет Anymail для Resend. Это один из вариантов, а не обязательная регистрация для Commentail. Тариф, доступность сервиса и лимиты аккаунта проверьте до подключения.
Подготовим отправителя и ключ
Добавьте свой домен в Resend, внесите выданные записи в DNS и дождитесь проверки. Выберите адрес отправителя на подтверждённом домене. Для первого теста используйте разрешённого сервисом получателя.
Создайте отдельный API key для учебного сайта с правом отправки; полный доступ для доставки не нужен. Если доступно ограничение по домену, выберите учебный домен. Сохраните значение при создании: кабинет не показывает его повторно. В окружении задайте RESEND_API_KEY='YOUR_API_KEY' и DEFAULT_FROM_EMAIL='Comments <comments@YOUR_VERIFIED_DOMAIN>', как в уроке 5. Рабочие значения в статью и Git не вставляйте.
Установим backend
В окружении вашего сайта:
python -m pip install django-anymail
В settings-файле:
import os
# Add once to the existing list.
INSTALLED_APPS += ["anymail"]
EMAIL_BACKEND = "anymail.backends.resend.EmailBackend"
DEFAULT_FROM_EMAIL = os.environ["DEFAULT_FROM_EMAIL"]
ANYMAIL = {
"RESEND_API_KEY": os.environ["RESEND_API_KEY"],
"REQUESTS_TIMEOUT": 20,
}
Добавляйте anymail только один раз. Если ANYMAIL уже существует, объедините настройки. Тайм-аут ограничен 20 секундами, что меньше стандартной аренды задания Commentail в 300 секунд. SMTP-параметры этому backend не нужны. Не задавайте одновременно два EMAIL_BACKEND: используется один активный транспорт.
Перезапустите сайт и обработчик. Проверьте конфигурацию и пройдите гостевую отправку из урока 6. Одна установка Anymail не подтверждает ключ и домен. Проверяйте событие отправки в Resend и реальное получение письма отдельно.
Очередь и расписание Commentail остаются теми же. Вторую очередь «для API» создавать не нужно. Не переносите повторы каждого письма в Celery: сроки и состояние уже хранит Commentail. Webhook для первого подключения не требуется. Если позже понадобится отслеживание доставки через webhook, настройте проверку подписи по документации Anymail и не оставляйте публичный обработчик без аутентификации.
В конце учебного эксперимента отзовите именно тестовый ключ. Если продолжаете использовать сайт, сначала замените его выделенным рабочим ключом и проверьте доставку после перезапуска.
Официальные инструкции: Anymail и Resend (на английском), установка Anymail (на английском), управление ключами Resend (на английском).
Другие уроки по этой задаче
- 5. Переменные окружения без путаницы с ключами
- 8. Настраиваем обработчик писем и очистки
- 21. Что делать, если комментарии не работают
Выберите способ входа или оставьте комментарий как гость ниже.