SendGrid en Python
La organización matriz de SendGrid
(una plataforma de comunicación con el cliente para correo electrónico transaccional y de marketing) es Twilio
.
Principalmente, la tarea es enviar correos electrónicos de forma dinámica. Esto tiende a minimizar la complejidad y el consumo de tiempo.
Inicialmente, tendremos que configurar los datos personales para iniciar sesión y luego obtendrá un panel con múltiples funciones (después de que su cuenta se verifique por correo electrónico). Puede enviar correos electrónicos fácilmente yendo a la sección Marketing
y luego a la sección Remitente
.
La mejor experiencia solo se logra si tiene una cuenta autenticada de dos factores. De lo contrario, su cuenta pasa por una fase de revisión, lo que puede llevar mucho tiempo.
En la siguiente sección, indicaremos los pasos para manejar los detalles de creación de la cuenta. Sigue los pasos uno por uno.
-
Vaya a
SendGrid
. -
Crea tu cuenta.
-
Se le pedirá que active la
Autenticación de dos factores
. -
Una vez que se haya creado y verificado una cuenta, vaya a la pestaña
Configuración
en el panel de navegación izquierdo. -
Seleccione la opción
Claves API
del menú desplegable. -
Haga clic en la pestaña
Crear clave API
para crear unaClave API
secreta para su aplicación. -
Establezca un
Nombre de clave de API
. -
Elija
Acceso completo
de los botones de opción. -
Por último, haga clic en
Crear y ver
.
Asegúrese de haber guardado la clave API en un lugar seguro. Técnicamente, se muestra explícitamente visto una vez.
En la siguiente parte, configurará el correo electrónico del remitente.
-
Vaya a
Marketing
y luego haga clic enRemitentes
. -
En la esquina superior derecha de la página
Administración de remitentes
, haga clic enCrear nuevo remitente
. -
Rellene todos los campos de la página y luego haga clic en
Guardar
.
Es posible que se envíe un correo de confirmación al correo para asegurar el correo que agregó como remitente.
Para la autenticación, puede utilizar su número de contacto. Si tiene algún problema, puede descargar Google Authy
y usar el número de contacto que usará en Authy
.
Este proceso pasivo podría salvarte.
Pero en esta fase, si envía un correo electrónico, el remitente tendrá que revisar el correo cada vez que lo confirme. La siguiente sección de codificación mostrará cómo podemos usar la clave API para enviar correos electrónicos a múltiples destinatarios.
Use la clave API SendGrid
para enviar múltiples correos electrónicos
Inicialmente, tendremos que crear una carpeta de proyecto en nuestra computadora local. Además, iniciaremos un entorno virtual de Python.
Debe abrir el terminal/cmd en esa carpeta para crearlo. Ingrese los siguientes comandos.
python -m venv YourFolderName
cd YourFolderName
Crearemos un archivo de script en esta carpeta (nombre de la carpeta que usamos: sendgrid
). Creamos main.py
como nuestro archivo de script. A continuación, instalaremos las dependencias.
Antes de eso, es necesario activar el entorno virtual. Entonces, en la carpeta sendgrid
, abriremos la terminal y daremos seguimiento a los comandos.
Scripts\activate
pip install sendgrid
pip install python-dotenv
Ahora cree un archivo .env
(el archivo para almacenar la variable de entorno). Y ahí, guardaremos el siguiente fragmento de código.
export API_KEY=YOUR_SENDGRID_API_KEY
Aquí, en la variable API_KEY
, mantendremos la clave API previamente guardada del sitio web SendGrid
. A continuación, iremos a la sección de codificación.
Fragmento de código:
import os
import dotenv
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail, Email, To, Content
dotenv.load_dotenv()
sgc = SendGridAPIClient(api_key=os.environ.get("API_KEY"))
from_email = Email("sender@example.com") # Change to your verified sender
# Change to your recipient
to_email = [To("receiver1@example.com"), To("receiver2@example.com")]
subject = "Sending with SendGrid is Fun"
content = Content("text/plain", "and easy to do anywhere, even with Python")
mail = Mail(from_email, to_email, subject, content, is_multiple=True)
# is_multiple is used to specify that the mail has multiple recipients
# Get a JSON-ready representation of the Mail object
mail_json = mail.get()
# Send an HTTP POST request to /mail/send
try:
response = sgc.client.mail.send.post(request_body=mail_json)
print(response.status_code)
print(response.headers)
except Exception as e:
print(e)
El dotenv
importará la clave API como un diccionario, y después de llamarlo, veremos la actualización en el panel del sitio web en cada transmisión. Hemos enviado varios correos electrónicos de una sola vez.
El resultado muestra la vista previa que tendremos en el panel de control y la fuente de actividad SendGrid
.
Producción: