File tree 1 file changed +20
-0
lines changed
1 file changed +20
-0
lines changed Original file line number Diff line number Diff line change
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 `
You can’t perform that action at this time.
0 commit comments