reply mass google example email_host python django smtp

python - mass - send email django google



No se puede configurar Django para que funcione con smtp.gmail.com (5)

He estado tratando de hacer que django trabaje con el servidor smtp de gmail para enviar correos, pero siempre recibo este rastreo. Cualquier ayuda será muy apreciada.

----- settings.py -----

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

---- concha de pitón -----

desde django.core.mail import EmailMessage

email = EmailMessage (''Prueba de correo'', ''Esto es una prueba'', a = [''[email protected]''])

Enviar correo electrónico()

Traceback (most recent call last): File "<console>", line 1, in <module> File "/home/fiodorovich/Envs/fdict/lib/python2.7/site-packages/django/core/mail/message.py", line 251, in send return self.get_connection(fail_silently).send_messages([self]) File "/home/fiodorovich/Envs/fdict/lib/python2.7/site-packages/django/core/mail/backends/smtp.py", line 86, in send_messages sent = self._send(message) File "/home/fiodorovich/Envs/fdict/lib/python2.7/site-packages/django/core/mail/backends/smtp.py", line 104, in _send email_message.message().as_string()) File "/usr/local/lib/python2.7/smtplib.py", line 701, in sendmail raise SMTPSenderRefused(code, resp, from_addr) SMTPSenderRefused: (530, ''5.7.0 Must issue a STARTTLS command first. z15sm10449686anl.15'', ''webmaster@localhost'')

Edición: Nuevos errores cuando se realiza la modificación sugerida por unni. El shell no se ejecuta y recibo este mensaje de error

**EMAIL_HOST_USER = ''[email protected]''** ^ SyntaxError: invalid syntax


Cambia tu configuración de esta manera:

EMAIL_HOST = ''smtp.gmail.com'' EMAIL_HOST_USER = ''user'' EMAIL_HOST_PASSWORD = ''your-password'' EMAIL_PORT = 587 EMAIL_USE_TLS = True

Entonces intenta:

python manage.py shell >>> from django.core.mail import EmailMessage >>> email = EmailMessage(''Mail Test'', ''This is a test'', to=[''[email protected]'']) >>> email.send()

Esto debería volver con el estado 1, lo que significa que funcionó.


Recientemente he configurado esto y tuve una configuración de settings.py un poco diferente.

Movimiento:

EMAIL_USE_TLS = True

a la parte superior por encima de EMAIL_HOST

Añadir:

DEFAULT_FROM_EMAIL = ''[email protected]'' SERVER_EMAIL = ''[email protected]''



Tuve el mismo problema, y ​​busqué medio día para encontrar una solución. La mayoría de las soluciones propuestas se refieren a dónde debería inicializar EMAIL_USE_TLS en relación con las otras configuraciones. No creo que esta sea una solución para el problema.

Encontré la solución en: https://support.google.com/accounts/answer/185833?hl=en y finalmente https://security.google.com/settings/security/apppasswords

Si está probando su proyecto en una máquina local, debe ir al último enlace y habilitar "Acceso para aplicaciones menos seguras".


EMAIL_BACKEND = ''django_smtp_ssl.SSLEmailBackend'' EMAIL_HOST=''smtp.gmail.com'' EMAIL_PORT=465 EMAIL_HOST_USER = ''youruser'' EMAIL_HOST_PASSWORD = ''*********'' DEFAULT_EMAIL_FROM = ''[email protected]''

funciona bien