Django send_mail not working - No email delivered

django, django-email

Solution

Adjust your settings thus:

DEFAULT_FROM_EMAIL = 'workorbit@gmail.com'
SERVER_EMAIL = 'workorbit@gmail.com'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'workorbit@gmail.com'
EMAIL_HOST_PASSWORD = 'P@ssw0rd5'

Adjust your code:

from django.core.mail import EmailMessage

def send_email(request):
    msg = EmailMessage('Request Callback',
                       'Here is the message.', to=['charl@byteorbit.com'])
    msg.send()
    return HttpResponseRedirect('/')

Problem

When the view that sends the email is used nothing happens, i then entered send_mail(...) into the python shell and it returned 1 but i didn't receive any emails. This is my settings.py ``` EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.gmail.com' EMAIL_PORT = 587 EMAIL_HOST_USER = 'senderaddress@gmail.com' EMAIL_HOST_PASSWORD = 'Password1234!' EMAIL_USE_TLS = True ``` This is the view: ``` def send_email(request): send_mail('Request Callback', 'Here is the message.', 'senderaddress@gmail.com', ['recipientaddress@gmail.com'], fail_silently=False) return HttpResponseRedirect('/') ```

Original source