Django send_mail не работает с mailgun - PullRequest
0 голосов
/ 13 ноября 2018

Настройки:

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
EMAIL_HOST = 'smtp.mailgun.org'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'donotreply@kamiltrojnar.pl'
EMAIL_HOST_PASSWORD = 'passwordsecret'
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = 'donotreply@kamiltrojnar.pl'
SITE_ID = 2

Вывод на консоль:

Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: Testing email sending 
From: donotreply@kamiltrojnar.pl
To: kamil.trojnar@gmail.com
Date: Tue, 13 Nov 2018 17:20:27 -0000
Message-ID <154212962720.11272.17395367179025062268@DESKTOP-EG7NCN4.home>

Просмотр:

def index(request):
    send_mail("Testing email sending", 'AS  title','donotreply@kamiltrojnar.pl',['kamil.trojnar@gmail.com'], fail_silently=False)

    return render(request, 'userpanel/index.html')

Я не получаю ошибок, но электронное письмо не отправлено.В чем может быть проблема?

1 Ответ

0 голосов
/ 13 ноября 2018

Вы используете консольный почтовый сервер, поэтому электронные письма печатаются в консоли, но не отправляются:

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

Чтобы использовать настройки сервера SMTP, используйте SMTP-сервер :

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

В качестве альтернативы, вы можете использовать приложение, которое поддерживает mailgun, например, django-anymail.Затем вы добавите свой ключ API почтового пистолета в настройки вместо настроек SMTP, а бэкэнд будет использовать API почтового оружия для отправки электронных писем.

...