Гуглится, что не хватает:
EMAIL_USE_SSL = False
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
или даже:
EMAIL_USE_SSL = False
SERVER_EMAIL = DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
И еще, возможно у тебя двухфакторная аутентификация, и тогда твое приложение не авторизовано... читать тут:
https://support.google.com/accounts/answer/6010255 ... тогда нужно или отключить двухфакторую авторизацию, или приложение следует подписать и указать в сетингах ключи
EMAIL_SSL_CERTFILE
и
EMAIL_SSL_KEYFILE
... или использовать не gmail, а еще что-то...
Кроме того, чтобы не падало по таймауту -- поставить исключение на это событие, и/или использовать в сетингах
EMAIL_TIMEOUT
P.S. Оправка почты из приложения -- медленная штука. Даже если ничего не падает -- пользователь замечает подтормаживание (2-3 секунды и больше). Так что почту лучше отправлять асинхронно или в параллельном потоке. Например, с помощью модуля django_background_tasks ...