2016-01-18 7 views
0

Я пытаюсь отправить электронное письмо через обертку Django.Django Mailer не находит сервер

Вот мои соответствующие настройки.

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

EMAIL_USE_TLS = True 

EMAIL_HOST = 'smtp.gmail.com' 

EMAIL_HOST_USER = '[email protected]' 

EMAIL_HOST_PASSWORD = 'mypassword' 

EMAIL_PORT = 587 

DEFAULT_FROM_EMAIL = EMAIL_HOST_USER 

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

from django.core.mail import send_mail 

def index(request): 

    subject = 'Subject' 
    message = 'message' 
    from_email = settings.DEFAULT_FROM_EMAIL 

    send_mail(subject, message, from_email, ['[email protected]']) 

    return render(request, "index.html") 

Все сообщения электронной почты и пароль являются законными. Когда я выполняю код, я вышвырнут сообщение об ошибке:

SMTPAuthenticationError at /....*Link to sign into my account* 
Please log in via your web browser and\n5.7.14 then try again 

Я сделал это, но продолжать получать то же самое сообщение. Пароль, который я даю в приложении, верен. Есть ли что-то, что мне нужно настроить в моей учетной записи gmail?

+1

Линия возврата рендеринга (...) неправильно отображается как отображаемая и не будет возвращена как часть функции индекса. Это тот же самый отступ, который у вас есть в вашем файле? –

+0

Линия рендеринга вернулась в нужное место в моем файле, просто опечатка вопроса. –

+1

В моих настройках мне нужно установить EMAIL_PORT = 587 для отправки через Gmail w/TLS; порты, доступные из Gmail, как я понимаю, 25 для без шифрования, 465 для SSL, 587 для TLS –

ответ

1

Изменение EMAIL_HOST = 'smtp.gmail.com ' к EMAIL_HOST = 'smtp.gmail.com' и я держал пари, ваша проблема исчезнет :)

EDIT # 1 Вы работаете в вопросах аутентификации, как EMAIL_USE_TLS является True и Gmail требует только TLS соединения для SMTP на порт 587. Изменение до EMAIL_PORT = 587, и вы должны обойти эту проблему.

EDIT # 2 Ошибка, которую вы видите, может быть исправлена ​​с помощью настроек Gmail. См. - Django SMTPAuthenticationError

+0

Извините за то, что потратил время на опечатку. Это избавилось от сообщения об ошибке, но возвращает меня к проблеме, с которой я столкнулся раньше, чем опечатка. Когда я пытаюсь отправить электронное письмо, браузер просто перезагружается навсегда. @Ian Price –

+1

'send_mail (subject, message, from_email, ['[email protected]'])' обычно вызывается только в представлении или запускается методом на модели или форме. Если вы публикуете новый вопрос с полным кодом, в котором вызывается функция 'send_mail', мы можем вам помочь. И если бы я помог вам, пожалуйста, отметьте как завершенную. Благодаря! –

+0

Мне просто пришлось подождать секунду, прежде чем это позволит мне принять ответ. Функция вызывается в представлении, которое работает без кода, связанного с почтой. @ Ian Price –