WhatsApp

  
Cómo Enviar Correos con Python: Guía Práctica para Desarrolladores

Introducción:

En el vasto mundo del desarrollo de software, la capacidad de enviar correos electrónicos de manera efectiva es una habilidad que puede marcar la diferencia. En esta guía práctica, te sumergirás en el fascinante universo de cómo enviar correos con Python. Desde notificaciones automáticas hasta la integración de correo en tus proyectos, descubrirás el impacto positivo que esta habilidad puede tener en tus aplicaciones.

Te proporcionaremos un ejemplo práctico paso a paso, que te permitirá comprender los fundamentos y comenzar a integrar esta funcionalidad en tus proyectos. ¡Empecemos!

 Sección 1: Preparativos

Antes de sumergirnos en el código, es esencial preparar el entorno. Asegúrate de tener Python instalado y considera el uso de una cuenta de correo dedicada para evitar exponer tus credenciales personales.

Si cuentas con correo de Gmail, te proporcionamos la guía para generar las contraseñas para uso en aplicaciones de terceros.


Si no encuentras la opción, dentro de seguridad, podemos escribir en el buscador lo siguiente :

de esta forma podemos generar las contraseñas necesarias.


Sección 2: Configuración del Script


import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders

# Iniciamos los parámetros del script
remitente = 'tu_correo@gmail.com'
destinatarios = ['destinatario@gmail.com']
asunto = 'Asunto del Correo'
cuerpo = 'Cuerpo del Correo'
ruta_adjunto = 'archivo_adjunto.txt' # Ruta del archivo adjunto
nombre_adjunto = 'archivo_adjunto.txt' # Nombre del archivo adjunto

En esta sección, configuramos los parámetros básicos del correo, incluyendo la dirección del remitente, destinatarios, asunto y cuerpo del mensaje. Es importante destacar que se recomienda utilizar una cuenta de Gmail como remitente para este ejemplo.


Sección 3: Creación del Objeto Mensaje

# Creamos el objeto mensaje
mensaje = MIMEMultipart()
# Establecemos los atributos del mensaje
mensaje['From'] = remitente
mensaje['To'] = ", ".join(destinatarios)
mensaje['Subject'] = asunto
# Agregamos el cuerpo del mensaje como objeto MIME de tipo texto
mensaje.attach(MIMEText(cuerpo, 'plain'))


En esta sección, creamos el objeto mensaje utilizando la biblioteca email.mime. Establecemos los atributos del mensaje, como el remitente, destinatarios y el asunto. También adjuntamos el cuerpo del mensaje al objeto MIME.



Sección 4: Adjuntar Archivos


# Abrimos el archivo que vamos a adjuntar
if ruta_adjunto:
archivo_adjunto = open(ruta_adjunto, 'rb')

# Creamos un objeto MIME base
adjunto_MIME = MIMEBase('application', 'octet-stream')
# Y le cargamos el archivo adjunto
adjunto_MIME.set_payload((archivo_adjunto).read())
# Codificamos el objeto en BASE64
encoders.encode_base64(adjunto_MIME)
# Agregamos una cabecera al objeto
adjunto_MIME.add_header('Content-Disposition', 'attachment', filename=nombre_adjunto)
# Y finalmente lo agregamos al mensaje
mensaje.attach(adjunto_MIME)

Aquí, implementamos la lógica para adjuntar archivos al correo electrónico. Verificamos si se proporciona una ruta de archivo adjunto y, en caso afirmativo, cargamos el archivo en el objeto MIME y lo adjuntamos al mensaje.

Sección 5: Enviar el Correo


# Creamos la conexión con el servidor
sesion_smtp = smtplib.SMTP('smtp.gmail.com', 587)
# Ciframos la conexión
sesion_smtp.starttls()
# Iniciamos sesión en el servidor, coloca las contraseñas generadas en la primera etapa de este blog
sesion_smtp.login('tu_correo@gmail.com', 'tu_contraseña')
# Convertimos el objeto mensaje a texto
texto = mensaje.as_string()
# Enviamos el mensaje
sesion_smtp.sendmail(remitente, destinatarios, texto)
# Cerramos la conexión
sesion_smtp.quit()

En esta última sección, establecemos la conexión con el servidor de Gmail, ciframos la conexión utilizando starttls(), iniciamos sesión con las credenciales del remitente y enviamos el mensaje utilizando sendmail(). Finalmente, cerramos la conexión.

Conclusión:

 ¡Felicidades! Has aprendido a enviar correos electrónicos utilizando Python. Este ejemplo básico puede servir como punto de partida para integrar funcionalidades de correo electrónico en tus aplicaciones y proyectos. Explora y experimenta con estos conceptos para potenciar aún más tus habilidades de desarrollo. ¡Buena codificación!

Cómo Enviar Correos con Python: Guía Práctica para Desarrolladores
Luis Alberto González Trejo 28 diciembre, 2023
Compartir


Iniciar sesión dejar un comentario

  
Conectándote y Trabajando con SQL Server en Python: Un Tutorial Completo