diff --git a/auth/email.py b/auth/email.py index 4e531c81..7ca5d9bf 100644 --- a/auth/email.py +++ b/auth/email.py @@ -1,16 +1,20 @@ -import httpx +import requests + from settings import MAILGUN_API_KEY, MAILGUN_DOMAIN -api_url = f"https://api.mailgun.net/v3/{MAILGUN_DOMAIN or 'discours.io'}/messages" -noreply = f"discours.io " -lang_subject = {"ru": "Подтверждение почты", "en": "Confirm email"} +api_url = "https://api.mailgun.net/v3/%s/messages" % (MAILGUN_DOMAIN or 'discours.io') +noreply = "discours.io " % (MAILGUN_DOMAIN or 'discours.io') +lang_subject = { + "ru": "Подтверждение почты", + "en": "Confirm email" +} async def send_auth_email(user, token, lang="ru", template="email_confirmation"): try: - to = f"{user.name} <{user.email}>" - if lang not in ["ru", "en"]: - lang = "ru" + to = "%s <%s>" % (user.name, user.email) + if lang not in ['ru', 'en']: + lang = 'ru' subject = lang_subject.get(lang, lang_subject["en"]) template = template + "_" + lang payload = { @@ -18,13 +22,16 @@ async def send_auth_email(user, token, lang="ru", template="email_confirmation") "to": to, "subject": subject, "template": template, - "h:X-Mailgun-Variables": f'{{ "token": "{token}" }}', + "h:X-Mailgun-Variables": "{ \"token\": \"%s\" }" % token } - print(f"[auth.email] payload: {payload}") - async with httpx.AsyncClient() as client: - response = await client.post( - api_url, auth=("api", MAILGUN_API_KEY), data=payload - ) - response.raise_for_status() + print('[auth.email] payload: %r' % payload) + # debug + # print('http://localhost:3000/?modal=auth&mode=confirm-email&token=%s' % token) + response = requests.post( + api_url, + auth=("api", MAILGUN_API_KEY), + data=payload + ) + response.raise_for_status() except Exception as e: print(e) diff --git a/requirements.txt b/requirements.txt index ea8a8f44..afa82030 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ aredis>=1.1.8 httpx>=0.23.0 -git+https://github.com/graphql-python/gql#master +gql[requests] # TODO: replace with httpx when stable git+https://github.com/encode/starlette.git#main sqlalchemy>=1.4.41 ariadne>=0.17.0