es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

API de Gmail con Heroku y proyecto Django.

Estoy atrapado/a identificando un problema en una aplicación que se está implementando en Heroku. Es un proyecto de Python Django que, utilizando una API de Gmail, debería enviar correos electrónicos a los suscriptores definidos. El código es el siguiente:

views.py (donde se llama la función)

def MailJournals(new_acts):
    mailAdresses = models.EmailSubscriber.objects.all().values_list('email')
    mail_list = [x[0] for x in mailAdresses]
    journal_date = datetime.strftime(datetime.now(), '%d/%m/%Y')

    message = MIMEText(render_to_string('newsScrapper/mail.html',{
        'journal_date': journal_date,
        'new_acts': new_acts,
    }), 'html')

    message['to'] = ",".join(mail_list)
    message['from'] = EMAIL_HOST_USER
    message['subject'] = 'Official Journal as of ' + journal_date

    with smtplib.SMTP_SSL("smtp.gmail.com", 465) as smtp:
        smtp.login(EMAIL_HOST_USER, EMAIL_HOST_PASSWORD)
        smtp.send_message(message)
settings.py:

EMAIL_HOST_USER = env('EMAIL_USERNAME')
EMAIL_HOST_PASSWORD = env('EMAIL_PASSWORD')

La cosa es que funciona perfectamente en localhost, así que no creo que sea un problema de código. Aquí hay algunos registros de Heroku que he extraído para la llamada de esa función:

2021-11-30T21:09:30.657994+00:00 heroku[router]: at=info method=GET path=”/home/load/” host=legisync.herokuapp.com request_id=6c5c138d-05a4-488e-8bcd-c0bdc03da7fa fwd=”83.23.240.85″ dyno=web.1 connect=0ms service=464ms status=302 bytes=259 protocol=https

Lamentablemente, no tengo idea de cómo identificar correctamente la causa subyacente por la cual no funciona desde Heroku… ¿Alguna idea, o si se necesita algo más de mi parte para compartir, por favor háganmelo saber?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Basándonos en el código y los registros proporcionados, es difícil determinar la causa subyacente del problema. Sin embargo, aquí hay algunas áreas potenciales para investigar:

    1) Verificar los registros de Heroku en busca de cualquier mensaje de error relacionado con el proceso de envío de correo electrónico. Estos registros pueden proporcionar información más específica sobre el problema.

    2) Verificar que la API de Gmail se haya configurado y autorizado adecuadamente para su uso en Heroku.

    3) Asegurarnos de que las variables de entorno para la cuenta de Gmail (es decir, EMAIL_HOST_USER y EMAIL_HOST_PASSWORD) estén configuradas correctamente en el entorno de Heroku.

    4) Verificar si hay alguna restricción de red o firewall en la plataforma de Heroku que pueda estar impidiendo que el proceso de envío de correo electrónico tenga éxito.

    5) Considerar la implementación de declaraciones de manipulación de errores adicionales y depuración dentro de la función de envío de correo electrónico para ayudar a identificar el problema.

Comments are closed.