How do you send email from Django using a hosted SMTP account (specially on Namecheap)?
I thought this would be straight forward, and simply a matter of filling out the standard EMAIL_* fields in my settings.py.
However, after entering my credentials in both my settings.py and Thunderbird, Thunderbird can download and send email, but Django times out with the error "SMTPServerDisconnected: Connection unexpectedly closed" when attempting to do the same.
My working settings in Thunderbird for my outgoing server (SMTP):
Server Name: oxmail.registrar-servers.com
Port: 465
User Name: [email protected]
Authentication method: Normal password
Connection Security: SSL/TLS
My non-working settings in my Django settings.py:
EMAIL_HOST = 'oxmail.registrar-servers.com'
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = 'mypassword'
EMAIL_PORT = 465
EMAIL_USE_TLS = True
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
Aren't these settings identical? What am I doing wrong? Why does one work while the other fails?
The EMAIL_HOST_USER and EMAIL_HOST_PASSWORD settings, if set, are used to authenticate to the SMTP server, and the EMAIL_USE_TLS and EMAIL_USE_SSL settings control whether a secure connection is used. Note. The character set of email sent with django.core.mail will be set to the value of your DEFAULT_CHARSET setting.
Turns out the problem was that the default SMTP backend in Django does not support SSL, and my SMTP host required it (not just TLS). Fortunately, I found a dirt-simple SSL backend, added EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend'
to my settings.py and everything just worked.
The settings below:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'mail.yourdomain.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = 'password'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
worked for me. My django version I tested with is 1.8.8.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With