SMTP AUTH extension not supported by server - Sending emails through a private host in Django

darkhorse picture darkhorse · Jul 1, 2016 · Viewed 8.7k times · Source

I registered a domain and a private email using namecheap.com. I am trying to send an email from this private email. However, I get the error in the title.

In my settings.py, I have these settings:

EMAIL_HOST = 'mail.privateemail.com'
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = 'my password'
EMAIL_PORT = 587
EMAIL_USE_TLS = False
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

And I am trying to send my mail through a view:

send_mail(
    'Subject here',
    'Here is the message.',
    '[email protected]',
    ['[email protected]'],
    fail_silently=False,
)

I get this error :

SMTP AUTH extension not supported by server.

Any idea how to solve this? Thanks!

Answer

solarissmoke picture solarissmoke · Jul 2, 2016

This is happening because you have conflicting settings:

EMAIL_PORT = 587        # Port 587 is reserved for TLS
EMAIL_USE_TLS = False   # But you have disabled TLS

You either need to set EMAIL_USE_TLS to True or use the default port for unencrypted connections (25).