Как заставить django-allauth отправлять электронные письма в формате html

Cookiecutter-django использует:

  • django-allauth (который должен отправлять электронные письма с подтверждением регистрации)
  • django-anymail настроен на использование mailgun.

Дела в основном рабочие. Но я не могу понять, почему я получаю только текстовые электронные письма вместо электронных писем в формате HTML. У меня есть электронные письма в формате html, определенные в templates/account.

Я должен где-то пропустить настройку конфигурации. Но похоже, что просто наличия файлов .html должно быть достаточно.

Итак, как мне заставить django-allauth отправлять электронные письма в формате html?


person Brad Rhoads    schedule 01.06.2018    source источник
comment
Вы также создали account/email/email_confirmation_signup_message.html ?   -  person Peter Sobhi    schedule 01.06.2018
comment
вы установили ACCOUNT_TEMPLATE_EXTENSION на что-то другое   -  person chaggy    schedule 01.06.2018


Ответы (1)


Причина, по которой вы получаете электронное письмо только в виде обычного текста, заключается в том, что пакет django-allauth по умолчанию не содержит никаких HTML-шаблонов электронной почты.

Это упоминается в официальной документации django-allauth по адресу https://django-allauth.readthedocs.io/en/latest/advanced.html#sending-email:

Проект не содержит готовых HTML-шаблонов электронной почты. Когда вы предоставляете их самостоятельно, обратите внимание, что отправляется как текстовая, так и HTML-версия сообщения.

Вам необходимо следовать приведенным здесь инструкциям (https://django-allauth.readthedocs.io/en/latest/advanced.html#sending-email) для точной файловой структуры + соглашения об именах, которые необходимо использовать для создания шаблонов HTML для вашего проекта.

person Rafael G. Busato    schedule 22.10.2018