¿Qué es import email en Python?

| Última modificación: 14 de enero de 2025 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Husmeando en Python uno suele darse cuenta de que este lenguaje tiene un paquete para casi todo, y si hablamos de gestionar correos electrónicos, el módulo de import email es ese paquete que te va a servir. Sí, es posible leer, crear o enviar correos electrónicos desde Python y el import email en Python te ayudará a lograrlo. Por eso hoy quiero mostrarte cómo funciona y qué puede hacer este paquete.

import email en Python

¿Qué es el módulo email en Python?

El módulo email contiene un conjunto de herramientas que han sido diseñadas para trabajar con mensajes de correo electrónico en diversos formatos, ya sea texto simple, HTML o MIME. Import email en Python es la forma en la que podemos hacer uso del módulo email dentro de Python. Con él puedes enviar correos básicos o construir mensajes complejos con archivos adjuntos, lo que sea que se te ocurra.

Se diferencia de otros servicios más básicos porque import email en Python permite personalizar más detalladamente los correos: puedes manejar encabezados, adjuntar múltiples archivos y hasta gestionar diferentes formatos de contenido.

Una forma de entenderlo es suponiendo que estás enviando una carta física. El módulo de import email en Python es como una oficina de correos que no solo te ayuda a escribir el contenido de la carta, sino que también te permite agregar sobres personalizados, adjuntar fotos o incluso incluir múltiples documentos en el mismo paquete. Todo esto, asegurándose de que cada destinatario reciba exactamente lo que necesita.

¿Cómo usar import email en Python?

Para empezar, basta con incluir el módulo en tu código. Veamos algunas cosas que puedes hacer para sacarle mayor provecho:

  • Enviar un correo electrónico básico: Un correo electrónico básico se puede construir con la clase EmailMessage. Veamos cómo enviar un mensaje de texto simple:
import smtplib
from email.message import EmailMessage

# Crear el mensaje
msg = EmailMessage()
msg.set_content("Este es un mensaje enviado desde Python.")
msg['Subject'] = 'Hola desde Python'
msg['From'] = '[email protected]'
msg['To'] = '[email protected]'

# Enviar el correo
with smtplib.SMTP('localhost') as server:
server.send_message(msg)

En este ejemplo EmailMessage maneja automáticamente los encabezados y el contenido del mensaje.

  • Adjuntar archivos a un correo: Agregar archivos adjuntos es tan fácil como incluirlos en el mensaje:
from email.message import EmailMessage

msg = EmailMessage()
msg['Subject'] = 'Informe mensual'
msg['From'] = '[email protected]'
msg['To'] = '[email protected]'

# Agregar texto al cuerpo del correo
msg.set_content("Adjunto encontrarás el informe mensual.")

# Adjuntar un archivo
with open('informe.pdf', 'rb') as f:
file_data = f.read()
file_name = 'informe.pdf'
msg.add_attachment(file_data, maintype='application', subtype='pdf', filename=file_name)

# Enviar el correo
with smtplib.SMTP('localhost') as server:
server.send_message(msg)
  • Leer un correo electrónico: Si necesitas analizar un correo recibido, puedes usar el módulo email.parser. Así se ve un ejemplo de este módulo:
from email.parser import Parser
from email.policy import default

email_content = """\
From: [email protected]
To: [email protected]
Subject: Prueba

Este es el cuerpo del mensaje.
"""

# Parsear el contenido del correo
headers = Parser(policy=default).parsestr(email_content)

print("De:", headers['from'])
print("Para:", headers['to'])
print("Asunto:", headers['subject'])

Algunos consejos antes de terminar…

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

Si quieres aprovechar al máximo el import email en Python, debes seguir los consejos a continuación:

  • Usa siempre servidores seguros: Configura TLS/SSL al conectar con servidores SMTP.
  • Valida los datos de entrada: Evita problemas al trabajar con encabezados o archivos adjuntos.
  • Gestiona excepciones: Maneja errores comunes como fallos de conexión o direcciones de correo inválidas.
  • Respeta la privacidad: Si envías correos a múltiples destinatarios, usa campos como BCC en lugar de To para proteger su privacidad.

Si te interesa el tema y quieres seguir aprendiendo sobre cosas similares, no dudes en unirte al bootcamp de programación desde cero que en Keepcoding tenemos preparado para ti. Te enseñaremos cómo conseguir empleo fácilmente gracias a los conocimientos que irás adquiriendo de la mano de los mejores profesionales. ¡No esperes más, esta es tu oportunidad!

Ramón Maldonado

Full Stack Developer y Responsable de Formación base en KeepCoding.

Posts más leídos