I am trying to have django send emails but I am getting this error:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/Library/Python/2.7/site-packages/django/core/mail/__init__.py", line 62, in send_mail
return mail.send()
File "/Library/Python/2.7/site-packages/django/core/mail/message.py", line 286, in send
return self.get_connection(fail_silently).send_messages([self])
File "/Library/Python/2.7/site-packages/django/core/mail/backends/smtp.py", line 92, in send_messages
new_conn_created = self.open()
File "/Library/Python/2.7/site-packages/django/core/mail/backends/smtp.py", line 59, in open
self.connection.login(self.username, self.password)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/smtplib.py", line 615, in login
raise SMTPAuthenticationError(code, resp)
SMTPAuthenticationError: (534, '5.7.9 Application-specific password required. Learn more at\n5.7.9 http://support.google.com/accounts/bin/answer.py?answer=185833 v14sm3323298pbs.11 - gsmtp')
The link suggested my to perform a 2-step verification which I did but still no results.
In my settings.py
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_PORT = 587
I tried testing this in django shell but got the error shown above:
>>> from django.core.mail import send_mail
>>> from django.conf import settings
>>> sub = "sup man"
>>> msg = "char lisss"
>>> from_user = settings.EMAIL_HOST_USER
>>> to = ["[email protected]"]
>>> send_mail(sub,msg,from_user,to, fail_silently=False)
Because you use 2 factor authentication, you must create a password for this application to access your Google account without the 2 factor auth.
Perform all the steps on the Google support page to generate an application password, and then update your EMAIL_HOST_PASSWORD to use that, rather than your regular account password.
On this page: support.google.com/accounts/answer/185833 follow the steps under the heading "How to generate an App password". After you generate it, you need to use that password in your configuration.
Well, you need to generate a password from your google account (2 factor authentication). It is one time shown. check this link for guide.
Afterward, page will prompt a password and paste it in your settings.py
EMAIL_HOST_PASSWORD "your password goes here"
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