kutombawewe.net

Django 1.8 invia la posta usando gmail SMTP

Stavo cercando di inviare una mail usando smtp.gmail.com in Django 1.8

Il mio settings.py contiene:

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]'])

Ma ho ricevuto questo errore 

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')

Ho provato tutto ciò che il documento dice e ho seguito molte soluzioni suggerite.

come https://accounts.google.com/DisplayUnlockCaptcha , abilitando le app di sicurezza bassa ecc.

ma ho ancora errori

Qualcuno può dire, come configurare correttamente Django 1.8 per inviare posta utilizzando Gmail.

25
Sarath Babu

per 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

e views.py:

from Django.core.mail import EmailMessage

email = EmailMessage('title', 'body', to=[email])
email.send()

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

37
Alex Karahanidi

Ricordati di:

Vai alle impostazioni del tuo account Google, trova Sicurezza -> Autorizzazioni account -> Accedi per app meno sicure, attiva questa opzione.

Informazioni su questa opzione: https://support.google.com/accounts/answer/6010255

17
edilio

Ho provato questo e ha funzionato perfettamente in Django 1.8:
prima devi controllare questo link , fornito da google che hai fatto :)
noti che per alcuni strani motivi che non conosco, devi codificare in questo modo in view.py or Shell

import Django
from Django.conf import settings
from Django.core.mail import send_mail

send_mail('Subject here', 'Here is the message.', settings.EMAIL_Host_USER,
         ['[email protected]'], fail_silently=False)

anche queste sono le mie impostazioni nel file setting.py

EMAIL_USE_TLS = True
EMAIL_BACKEND = 'Django.core.mail.backends.smtp.EmailBackend'
EMAIL_Host = 'smtp.gmail.com'
EMAIL_Host_PASSWORD = 'xxxx' #my gmail password
EMAIL_Host_USER = '[email protected]' #my gmail username
EMAIL_PORT = 587
DEFAULT_FROM_EMAIL = EMAIL_Host_USER
11
Iman Mirzadeh

sostituisci il file settings.py:

EMAIL_BACKEND = 'Django_smtp_ssl.SSLEmailBackend'

di

EMAIL_BACKEND = 'Django.core.mail.backends.smtp.EmailBackend'

7
Ajay Gupta

In settings.py Cambia questo

EMAIL_Host='imap.gmail.com'
EMAIL_PORT = 587
EMAIL_Host_USER = '[email protected]'
EMAIL_Host_PASSWORD ='**********'
EMAIL_USE_SSL=False
EMAIL_USE_TLS= True
5
Abhishek Yadav

Questo funziona per me:

settings.py

EMAIL_BACKEND = 'Django_smtp_ssl.SSLEmailBackend'
EMAIL_Host = 'smtp.gmail.com'
EMAIL_Host_PASSWORD = 'test'
EMAIL_Host_USER = '[email protected]'
EMAIL_PORT = 587
EMAIL_USE_TLS = True

Unlock Captcha: https://accounts.google.com/DisplayUnlockCaptcha

views.py

email = EmailMessage(
    'subject_message',
    'content_message',
    'sender smtp gmail' +'<[email protected]>',
    ['[email protected]'],
    headers = {'Reply-To': '[email protected]' }
)
email.send()
1
ordenador.cl

L'ho usato per Django 1.11

In settings.py

EMAIL_USE_TLS = True
EMAIL_BACKEND = 'Django.core.mail.backends.smtp.EmailBackend'
EMAIL_Host = 'smtp.gmail.com'
EMAIL_Host_PASSWORD = 'sender' #sender mail password
EMAIL_Host_USER = '[email protected]' #sender mail username
EMAIL_PORT = 587
DEFAULT_FROM_EMAIL = EMAIL_Host_USER

In view.py

send_mail('mail subject', 'body content',settings.EMAIL_Host_USER,
                      ['[email protected]'], fail_silently=False)

e goto https://myaccount.google.com/u/0/security?hl=it per abilitare l'accesso alle app meno sicuro

0
Parthi.N