Skip to content

Commit 04a20cd

Browse files
committed
add readme
1 parent e9bd894 commit 04a20cd

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

README_FILES/task_46.md

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Задача #42: Настройка отправки email уведомлений
2+
3+
### Описание
4+
В приложении `common` добавлен файл `utils.py` где размещена логика отправки уведомлений.
5+
В случае разрастания функционала, можно будет выделить в отдельный файл.
6+
7+
#### Для отправки уведомлений необходимо:
8+
0. Прописать в `.env` значения переменных для отправки почту (SMTP сервер, логин, пароль).
9+
1. Создать шаблон и положить его в `src/common/templates/emails` для верстки письма. Для образца можно взять `registration_success.html`
10+
2. Из места, где необходимо отправить уведомление вызвать `create_and_send_email` и передать адрес получателя,
11+
название темплейта (с уканием папок, в которые он вложен), контекст для формирования темплейта и тему письма.
12+
13+
#### Логика работы отправки:
14+
Метод `create_and_send_email` создает отдельный поток в котором будет производиться отправка письма.
15+
Это сделано для того, чтобы не блокировать вызывающий код и сразу вернуть контроль. В будущем можно заменить это
16+
на вызов `celery task`.
17+
Письмо формируется на основании шаблона и переданного контекста. Если письмо не персонализированно, то контект может быть пустой.
18+
19+
#### Возможные улучшения:
20+
- добавить retry логику на случай проблем, чтобы повторить отправку через какое-то время. Можно реализовать при появлении `celery`

0 commit comments

Comments
 (0)