Skip to content

Commit 375733b

Browse files
committed
Started working on html emails
1 parent 1ab3896 commit 375733b

4 files changed

Lines changed: 35 additions & 25 deletions

File tree

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,5 +135,5 @@ dmypy.json
135135

136136
cache
137137

138-
staticfiles
138+
static
139139
/emails/

core/utils.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
1-
from django.core.mail import EmailMessage
1+
from django.core.mail import EmailMultiAlternatives
22

33

44
class Email:
55
@staticmethod
66
def send_email(data):
7-
email = EmailMessage(
8-
subject=data["email_subject"], body=data["email_body"], to=[data["to_email"]]
7+
email = EmailMultiAlternatives(
8+
subject=data["email_subject"],
9+
body=data["email_body"],
10+
to=[data["to_email"]],
911
)
12+
if data.get("html_content"):
13+
email.attach_alternative(data["html_content"], "text/html")
1014
email.send()
1115

1216

procollab/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
)
6464

6565
INSTALLED_APPS = [
66-
# daphne is required for channels, should be installed before django.contrib.staticfiles
66+
# daphne is required for channels, should be installed before django.contrib.static
6767
"daphne",
6868
# django apps
6969
"django.contrib.admin",

users/helpers.py

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
import os
2+
3+
from django.conf import settings
14
from django.contrib.auth import get_user_model
25
from rest_framework_simplejwt.tokens import RefreshToken
36
from django.contrib.sites.shortcuts import get_current_site
@@ -69,26 +72,29 @@ def verify_email(user, request):
6972

7073

7174
def send_verification_completed_email(user: User):
72-
# fixme
73-
email_body = (
74-
f"Поздравляю тебя, {user.first_name} {user.last_name}! Ты прошел верификацию и"
75-
f" стал частью сообщества PROCOLLAB!"
76-
f"Теперь ты сможешь пользоваться всем функционалом платформы, создавать проекты,"
77-
f" искать команду, находить нужные мероприятия."
78-
f"Следи за анонсами обновлений в нашей группе в ВК https://vk.com/PROCOLLAB "
79-
f"И скорее переходи на саму платформу, чтобы уже сегодня начать создавать свой проект."
80-
f"https://procollab.ru "
81-
f"С уважением, "
82-
f"Администрация PROCOLLAB"
83-
)
84-
85-
data = {
86-
"email_body": email_body,
87-
"email_subject": "Procollab | Верификация",
88-
"to_email": user.email,
89-
}
90-
91-
Email.send_email(data)
75+
fname = os.path.join(settings.STATIC_ROOT, "verification-succeed.html")
76+
with open(fname, "r", encoding="utf-8") as f:
77+
html_content = f.read()
78+
email_body = (
79+
f"Поздравляю тебя, {user.first_name} {user.last_name}! Ты прошел верификацию и"
80+
f" стал частью сообщества PROCOLLAB!"
81+
f"Теперь ты сможешь пользоваться всем функционалом платформы, создавать проекты,"
82+
f" искать команду, находить нужные мероприятия."
83+
f"Следи за анонсами обновлений в нашей группе в ВК https://vk.com/PROCOLLAB "
84+
f"И скорее переходи на саму платформу, чтобы уже сегодня начать создавать свой проект."
85+
f"https://procollab.ru "
86+
f"С уважением, "
87+
f"Администрация PROCOLLAB"
88+
)
89+
90+
data = {
91+
"email_body": email_body,
92+
"email_subject": "Procollab | Верификация",
93+
"to_email": user.email,
94+
"html_content": html_content,
95+
}
96+
97+
Email.send_email(data)
9298

9399

94100
def check_related_fields_update(data, pk):

0 commit comments

Comments
 (0)