Как отправлять электронную почту через SendGrid вместо файлового EmailBackend в Django

Я использую EmailBackend на основе файлов в Django. Я не хочу хранить электронные письма в папке, вместо этого я хочу использовать SendGrid.

Я следую этому учебнику здесь: https://learndjango.com/tutorials/django-password-reset-tutorial?msclkid=0c678f63ac0211ec9f8ff2047d0a934e

Вот соответствующая часть settings.py:

EMAIL_BACKEND = "django.core.mail.backends.filebased.EmailBackend"
EMAIL_FILE_PATH = BASE_DIR + "/sent_emails"

Все электронные письма хранятся в этой папке /sent_emails. Я не хочу этого делать. В учебнике по ссылке выше упоминаются MailGun и SendGrid, но там не подробно описано, как это использовать

Это код на Python, необходимый для отправки письма через SendGrid, но поскольку я использую встроенную в Django функцию сброса пароля (что я и пытаюсь сделать здесь), я не думаю, что это будет полезно само по себе, без добавления к какому-либо событию, которое предоставляет Django:

message = Mail(
from_email='jeff@example.com',
to_emails='bob@example.com',
subject='Greetings in different languages',
html_content="
<ul>
<li>Spanish: Hola!</li>
<li>French: Salut!</li>
<li>Japanese: こんにちは!</li>
<li>German: Hallo!</li>
<li>Italian: Ciao!</li>
</ul>
")
try:
    sg = SendGridAPIClient(os.environ.get('SENDGRID_API_KEY'))
    response = sg.send(message)
    print(response.status_code)
    print(response.body)
    print(response.headers)
except Exception as e:
    print(e.message)

Данные электронной почты выше - это только пример, и в приложении я не собираюсь их использовать (BTW я полилингв).

Вы знаете, как это сделать?

Вернуться на верх