Search code examples
pythondjangodjango-mailer

Django Mailer not finding server


I'm trying to send an email through Django's wrapper.

Here are my relevant settings.

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

The Email, which I am trying to isolate in the most basic form of a view:

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")

All of the emails and password are legitimate. When I execute the code, I get thrown an error message:

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

I did that but continue to get the same message. The password I give in the app is correct. Is there anything I need to configure in my gmail account?


Solution

  • Change EMAIL_HOST = 'smtp.gmail.com ' toEMAIL_HOST = 'smtp.gmail.com' and I bet your problem will disappear :)

    EDIT #1 You are running into authentication issues as EMAIL_USE_TLS is True and Gmail only requires TLS connections for SMTP on port 587. Change to EMAIL_PORT = 587 and you should bypass the issue.

    EDIT #2 The error you see can be fixed through your Gmail settings. See - Django SMTPAuthenticationError