Техническое задание: Настройка системы отправки транзакционных писем
Цель проекта
Создать отказоустойчивую и масштабируемую систему для автоматической отправки системных (транзакционных) электронных писем, критически важных для работы веб-приложения.
Основные задачи
- Организовать отправку писем для ключевых сценариев: подтверждение регистрации, напоминания, восстановление доступа.
- Настроить интеграцию с внешним SMTP-сервером или email-провайдером.
- Обеспечить безопасное хранение конфиденциальных данных (логины, пароли, API-ключи) через использование файла
.env или аналогичного механизма переменных окружения.
- Реализовать механизм очереди (queue) для асинхронной отправки писем, чтобы не блокировать основной поток работы приложения.
- Добавить в систему логику повторных попыток отправки (retry) с экспоненциальной задержкой между ними для повышения надежности.
- Обеспечить логирование процесса отправки для отслеживания и отладки.
Требования к реализации
- Архитектура должна быть модульной и легко поддерживаемой.
- Код должен быть документирован.
- Система должна корректно обрабатывать ошибки соединения и временную недоступность почтового сервиса.
- Предоставить инструкцию по развертыванию и конфигурации.