Bots & AutomatizacionAutomatizacion de TareasLección 7 de 7
Automatizar emails masivos
Enviar emails personalizados masivamente es una de las automatizaciones mas utiles para negocios.
Casos de uso: • Newsletters personalizadas • Facturas automaticas • Notificaciones a clientes • Cold outreach para ventas • Reportes diarios a tu equipo
Librerias: • smtplib (built-in): SMTP basico • email (built-in): Crear emails con formato • yagmail: Wrapper simple para Gmail • Resend: API moderna, 100 emails/dia gratis
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
def send_email(to, subject, body, smtp_config):
"""Enviar email con SMTP"""
msg = MIMEMultipart()
msg["From"] = smtp_config["user"]
msg["To"] = to
msg["Subject"] = subject
msg.attach(MIMEText(body, "html"))
with smtplib.SMTP_SSL(smtp_config["host"], smtp_config["port"]) as server:
server.login(smtp_config["user"], smtp_config["password"])
server.send_message(msg)
print(f"Email enviado a {to}")
def send_bulk_personalized(recipients, template, smtp_config):
"""Enviar emails personalizados masivamente"""
for person in recipients:
body = template.format(**person)
subject = f"Hola {person['name']}, tenemos algo para ti"
send_email(person["email"], subject, body, smtp_config)
import time
time.sleep(2) # No enviar demasiado rapido
# Ejemplo
recipients = [
{"name": "Carlos", "email": "carlos@mail.com", "product": "Pro"},
{"name": "Ana", "email": "ana@mail.com", "product": "Starter"},
]
template = """
<h2>Hola {name}!</h2>
<p>Tu plan <strong>{product}</strong> esta listo.</p>
<p>Gracias por elegirnos.</p>
"""
# smtp = {"host": "smtp.gmail.com", "port": 465, "user": "tu@gmail.com", "password": "app_password"}
# send_bulk_personalized(recipients, template, smtp)
ConsejoPara Gmail necesitas una App Password (no tu password normal). Ve a myaccount.google.com → Seguridad → Contraseñas de aplicaciones.
Practica esta lección
Resuelve los ejercicios del curso de Bots & Automatizacion en la app, gratis y con corrección automática.
Empezar a practicar