FastApi
1import smtplib
2from email.message import EmailMessage
3
4from celery import Celery
5
6from config import SMTP_PASSWORD, SMTP_USER
7
8SMTP_HOST = "smtp.gmail.com"
9SMTP_PORT = 465
10
11celery = Celery('tasks', broker='redis://localhost:6379')
12
13
14def get_email_template_dashboard(username: str):
15email = EmailMessage()
16email['Subject'] = 'Натрейдил Отчет Дашборд'
17email['From'] = SMTP_USER
18email['To'] = SMTP_USER
19
20email.set_content(
21'<div>'
22f'<h1 style="color: red;">Здравствуйте, {username}, а вот и ваш отчет. Зацените 😊</h1>'
23'<img src="https://static.vecteezy.com/system/resources/previews/008/295/031/original/custom-relationship'
24'-management-dashboard-ui-design-template-suitable-designing-application-for-android-and-ios-clean-style-app'
25'-mobile-free-vector.jpg" width="600">'
26'</div>',
27subtype='html'
28)
29return email
30
31
32@celery.task
33def send_email_report_dashboard(username: str):
34email = get_email_template_dashboard(username)
35with smtplib.SMTP_SSL(SMTP_HOST, SMTP_PORT) as server:
36server.login(SMTP_USER, SMTP_PASSWORD)
37server.send_message(email)
38