core/auth/email.py

29 lines
853 B
Python
Raw Normal View History

import requests
2022-10-05 15:54:29 +00:00
from settings import MAILGUN_API_KEY, MAILGUN_DOMAIN
2022-10-05 15:54:29 +00:00
api_url = "https://api.mailgun.net/v3/%s/messages" % MAILGUN_DOMAIN
noreply = "discours.io <noreply@%s>" % MAILGUN_DOMAIN
2022-10-21 05:47:58 +00:00
async def send_auth_email(user, token, lang="ru"):
2022-10-05 15:54:29 +00:00
try:
2022-10-20 22:05:37 +00:00
to = "%s <%s>" % (user.name, user.email)
subject = "Confirm email"
2022-10-21 05:47:58 +00:00
if lang not in ['ru', 'en']:
lang = 'ru'
template = "email_confirmation_" + lang
2022-10-20 22:05:37 +00:00
2022-10-05 15:54:29 +00:00
response = requests.post(
api_url,
auth=("api", MAILGUN_API_KEY),
2022-10-20 22:05:37 +00:00
data={"from": noreply,
"to": to,
"subject": subject,
"template": template,
"h:X-Mailgun-Variables": "{ \"token\": \"%s\" }" % token}
2022-10-05 15:54:29 +00:00
)
response.raise_for_status()
except Exception as e:
print(e)