Как отправлено письмо Django - PullRequest
2 голосов
/ 16 января 2020

У меня есть setting.py

# Email settings
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'email@gmail.com'
EMAIL_HOST_PASSWORD = 'pass'
EMAIL_PORT = 587

, и метод электронной почты указан в admin.py

send_mail(
            'Subject here',
            'Here is the message.',
            'from@gmail.com',
            ['to@gmail.com'],
            fail_silently=False,
        )

, но он выдает ошибку SMTP AUTH extension not supported by server. Как мне решить эту проблему, работая на localhost

Ответы [ 3 ]

1 голос
/ 16 января 2020

попробуйте создать специальный файл электронной почты для отправки, подобный этому

import smtplib
from email.message import EmailMessage

# Send Email Function
def send(to):
    email = EmailMessage()
    email['from'] = 'Test'
    email['to'] = to
    email['subject'] = 'Hello World'

    with smtplib.SMTP(host='smtp.gmail.com', port=587) as smtp:
      smtp.ehlo()
      smtp.starttls()
      smtp.login('user', 'password')
      smtp.send_message(email)

0 голосов
/ 17 января 2020

Для TLS:

EMAIL_USE_TLS = True
EMAIL_PORT = 587
0 голосов
/ 16 января 2020

Работает на порту 465 и электронной почте ssl true

EMAIL_PORT = 465
EMAIL_USE_SSL = True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...