2012-03-15 56 views
20

Estoy implementando una aplicación Django en Heroku, y utilizando el complemento Sendgrid para enviar un correo electrónico de validación cuando un usuario se registra en el sitio.Configuración de correo electrónico con Sendgrid en Heroku para una aplicación Django

He seguido las instrucciones here y pegar el siguiente en settings.py:

EMAIL_HOST = 'smtp.sendgrid.net' 
EMAIL_HOST_USER = 'sendgrid_username' 
EMAIL_HOST_PASSWORD = 'sendgrid_password' 
EMAIL_PORT = 587 
EMAIL_USE_TLS = True 

Sin embargo, mi aplicación se bloquea después del registro.

¿Qué se supone que debo poner exactamente para EMAIL_HOST_USER y EMAIL_HOST_PASSWORD?

En la pestaña del desarrollador en el complemento sendgrid en heroku, me da el nombre de usuario app*******@heroku.com, y para la contraseña solo dice "Su contraseña". ¿Es la contraseña mi contraseña de Heroku?

Además, ¿debo incluir DEFAULT_FROM_EMAIL en mi archivo settings.py? ¿Y dónde le digo a Sendgrid qué es?

EDIT: He configurado DEBUG = True, y parece que el error es:

SMTPSenderRefused 

(550, 'Cannot receive from specified address <[email protected]>: Unauthenticated senders not allowed', '[email protected]') 

parece que el problema está ocurriendo antes SendGrid hace su cosa. ¿Debo autenticar la dirección de correo electrónico con Heroku de alguna manera?

Respuesta

37

Dentro de su settings.py incluyen:

import os 
EMAIL_HOST_USER = os.environ['SENDGRID_USERNAME'] 
EMAIL_HOST= 'smtp.sendgrid.net' 
EMAIL_PORT = 587 
EMAIL_USE_TLS = True 
EMAIL_HOST_PASSWORD = os.environ['SENDGRID_PASSWORD'] 

Editar: cambia EMAIL_PASSWORD a EMAIL_HOST_PASSWORD ya que es la forma correcta.

+0

Realicé los cambios, pero sigo recibiendo el error. Configuro debug = true y el error es SMTPSenderRefused, diciendo que no puede recibir de la dirección especificada <[email protected]>: no se permite el envío no autenticado. ¿Dónde se autenticaría un correo electrónico en Heroku? – WarAndPiece

+1

Ok, en realidad esta es la respuesta, pero debería ser "EMAIL_HOST_PASSWORD" y no "EMAIL_PASSWORD" – WarAndPiece

+0

gracias por el fragmento que funciona perfectamente – soField

Cuestiones relacionadas