Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django 1.8 sending mail using gmail SMTP

I was trying send a mail using smtp.gmail.com in django 1.8

My settings.py contains:

EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend'   EMAIL_HOST='smtp.gmail.com'   EMAIL_PORT=465   EMAIL_HOST_USER = 'sarath4coding'   EMAIL_HOST_PASSWORD = '*********'   DEFAULT_EMAIL_FROM = '[email protected]' 
from django.core import mail mail.send_mail('subject','message','[email protected]',['[email protected]']) 

But got this error:

Traceback (most recent call last):   File "<console>", line 1, in <module>   File "/home/manager/dj1.8/local/lib/python2.7/site-packages/django/core/mail/__init__.py", line 62, in send_mail     return mail.send()   File "/home/manager/dj1.8/local/lib/python2.7/site-packages/django/core/mail/message.py", line 303, in send     return self.get_connection(fail_silently).send_messages([self])   File "/home/manager/dj1.8/local/lib/python2.7/site-packages/django/core/mail/backends/smtp.py", line 100, in send_messages     new_conn_created = self.open()   File "/home/manager/dj1.8/local/lib/python2.7/site-packages/django_smtp_ssl.py", line 14, in open     self.connection.login(self.username, self.password)   File "/usr/lib/python2.7/smtplib.py", line 622, in login     raise SMTPAuthenticationError(code, resp) SMTPAuthenticationError: (534, '5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbuze\n5.7.14 2FDKQt2Dlo2vqFIvbr6DnBItwWvh9DChPwbeTZO66N91gzmiA437Vqs80cZ9-8u13vxq5a\n5.7.14 bVahzO_BQcZ53yKbJ-YbAlmFE1XIK7MfH97O0wI1lvzpTG_WAHuTIBF0HD1GA2icUoUemt\n5.7.14 ErZn4qb942aAIMG103FnrzLp4txXTbXC-wGLpaz5yvnUN5thahvv3-RiIVW8F1QddZKZlg\n5.7.14 qQKpqWw56zr1AcO2s_oaBEt556fQ> Please log in via your web browser and\n5.7.14 then try again.\n5.7.14  Learn more at\n5.7.14  https://support.google.com/mail/answer/78754 kx14sm6579665pab.0 - gsmtp') 

I tried everything the document says and followed many suggested solutions.

like https://accounts.google.com/DisplayUnlockCaptcha, enabling low security apps etc.

but I still got errors

Can anybody tell how to properly configure Django 1.8 to send mail using Gmail.

like image 748
Sarath Babu Avatar asked Jul 09 '15 17:07

Sarath Babu


2 Answers

for me in settings.py:

EMAIL_USE_TLS = True EMAIL_HOST = 'smtp.gmail.com' EMAIL_HOST_USER = '[email protected]' EMAIL_HOST_PASSWORD = 'test' EMAIL_PORT = 587 

and views.py:

from django.core.mail import EmailMessage  email = EmailMessage('title', 'body', to=[email]) email.send()      

and: https://accounts.google.com/DisplayUnlockCaptcha

and also make sure you turn on permission for less secure apps.

like image 77
Alex Karahanidi Avatar answered Oct 09 '22 18:10

Alex Karahanidi


Remember to:

Go to your Google Account settings, find Security -> Account permissions -> Access for less secure apps, enable this option.

About this option: https://support.google.com/accounts/answer/6010255

like image 27
edilio Avatar answered Oct 09 '22 17:10

edilio