arrow_back Volver
Inicio keyboard_arrow_right Artículos keyboard_arrow_right Artículo

Envío de correos con SendGrid y Python

Eduardo Ismael Garcia

Full Stack Developer at Código Facilito.

av_timer 1 Min. de lectura

remove_red_eye 24516 visitas

calendar_today 25 Octubre 2019

Para envíar correos utilizando el servicio de SendGrid y Python será necesario instalar la librería sendgrid.

pip install sendgrid

Aquí un ejemplo de como envíar un correo electronico.

import os

from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail

message = Mail(
    from_email='[email protected]',
    to_emails='[email protected]',
    subject='Prueba de sendgrid',
    html_content = """
        <h2>Hola Mundo<h2>
    """
)

Una excelente ide es almacenar el token que SendGrid nos proporciona en una variable de entorno.

En caso una exception SSL: CERTIFICATE_VERIFY_FAILED sea lanzada será necesario generar el certificado.

open /Applications/Python\ 3.7/Install\ Certificates.command

Sí así lo deseamos podemos envíar el correo de forma concurrente.

import os
import threading

from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail

def send_mail_async(message):
    SECRET_KEY = os.environ.get('SENDGRID_API_KEY')

    sendgrid = SendGridAPIClient(SECRET_KEY)
    response = sendgrid.send(message)

    if response.status_code == 202:
        print('Mensaje enviado exitosamente.')

message = Mail(
    from_email='[email protected]',
    to_emails='[email protected]',
    subject='Prueba de sendgrid',
    html_content = """
        <h2>Hola Mundo<h2>
    """
)

thread = threading.Thread(target=send_mail_async, args=(message,))
thread.start()

Bootcamp Ciencia de Datos

12 semanas de formación intensiva en los conocimientos, fundamentos, y herramientas que necesitas para ser científico de datos

Más información