Вступить в клуб →
лёгкаявопросОчереди, надёжность и эксплуатация

Отправка писем прямо в HTTP-обработчике

Регистрация реализована так: в обработчике POST /signup сервис создаёт пользователя, затем синхронно отправляет приветственное письмо через внешний SMTP-сервис и только после этого отвечает клиенту. SMTP иногда отвечает по 10–15 секунд.

Что в этой схеме плохо и как её обычно перестраивают?

  • Пользователь ждёт внешний сервис и видит ошибку регистрации, хотя аккаунт создан; письмо надо отправлять фоном через очередь
  • Ничего страшного: пользователь должен убедиться, что письмо ушло, до окончания регистрации — иначе он не узнает о проблеме
  • Проблема в SMTP: протокол синхронный по своей природе, достаточно перейти на HTTP-API провайдера, и задержки исчезнут
  • Нужно увеличить таймаут HTTP-сервера и клиента, чтобы медленные ответы SMTP успевали дойти и регистрация не обрывалась

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела