¿Cómo enviar correos electrónicos con Python?

Este artículo ofrece una guía detallada sobre cómo automatizar el envío de correo electrónico utilizando la biblioteca smtplib de Python.

Cubre la configuración de un entorno, la generación de datos de muestra y la creación de diagramas de líneas básicos.

También analiza opciones de personalización avanzadas como estilos de línea, colores y marcadores para visualizaciones visualmente atractivas.

La guía también enseña cómo anotar trazados y guardarlos como archivos de imagen. Este artículo es adecuado para quienes son nuevos en Python o que buscan mejorar sus habilidades de visualización de datos.

Descripción general

  • Aprenda a instalar las bibliotecas necesarias y configurar Python para la automatización del correo electrónico.
  • Comprenda cómo utilizar smtplib para enviar correos electrónicos a un único destinatario, incluida la autenticación y la gestión de sesiones.
  • Explore métodos para enviar correos electrónicos a múltiples destinatarios usando Python y smtplib.
  • Explore las opciones de personalización del contenido y el formato del correo electrónico y aprenda a manejar excepciones y errores en el envío de correo electrónico.

¿Por qué utilizar Python para enviar correos electrónicos?

Python es simple y su legibilidad lo convierte en una excelente opción para la automatización que incluye el envío de correos electrónicos. Cuando necesitamos enviar actualizaciones periódicas, notificaciones o correos electrónicos de marketing, Python puede hacer que este proceso ahorre tiempo.

Para enviar correos electrónicos con Python usaremos SMTP que también significa Protocolo simple de transferencia de correo.

Este protocolo se utiliza para enviar correos electrónicos a través de Internet. Esta biblioteca “smtplib” crea un objeto de sesión de cliente que se puede utilizar para enviar a cualquier ID de correo electrónico válido. El servidor SMTP opera en el puerto 25, pero para una transmisión segura, se utiliza el puerto 587.

Antes de comenzar, debes tener Python ya instalado en tu sistema. Y necesita acceso a una cuenta de correo electrónico con credenciales SMTP. La mayoría de los proveedores de correo electrónico proporcionan estas credenciales, como Gmail o Outlook.

Veamos los pasos de esto ahora:

  • Primero, necesitas importar la biblioteca smtplib.
  • Ahora crea una sesión.
  • En esto, debe pasar el parámetro de la ubicación del servidor y el puerto. El primer parámetro debe ser la ubicación del servidor y luego el puerto. Para Gmail, utilizamos el puerto número 587.
  • Por motivos de seguridad, ahora coloque la conexión SMTP en modo TSL (Seguridad de la capa de transporte). Después de esto, por seguridad y autenticación, debe pasar las credenciales de su cuenta de Gmail en la instancia de inicio de sesión.
  • Ahora almacene el mensaje que necesita enviar en variable, mensaje y usando la instancia sendmail() envíe su mensaje con los tres parámetros en la secuencia.

Enviar correo electrónico a un único destinatario

Envíe un correo electrónico desde su cuenta a la de un único destinatario utilizando Python.

Con Python, puedes utilizar el paquete smtplib para enviar un correo electrónico a un único destinatario. Esta biblioteca le permite enviar correos electrónicos a través de SMTP.

Este método funciona bien para automatizar el envío de alertas, notificaciones o mensajes personalizados. Para enviar un correo electrónico a un único destinatario, autenticarse y configurar una sesión SMTP, consulte el siguiente fragmento de código.

#import csvimport smtplib
server= smtplib.SMTP(‘smtp.gmail.com’,587)
server.starttls()
server.login(‘sender_email_id’,’sender_email_password”)
message=”Message to be sent”
server.sendmail(‘sender_email_id”,”receiver_email”,message)
server.quit()

Enviar correo electrónico a varios destinatarios

Ahora, veamos cómo enviar correos electrónicos a varios destinatarios usando Python.

Si es necesario enviar el mismo correo electrónico a una persona diferente. El bucle For se puede utilizar para eso. Veamos esto con un ejemplo.

import smtplib
list_of_email=[‘[email protected]’,’[email protected]’]
for i in list_of_email:
    server= smtplib.SMTP(‘smtp.gmail.com’,587)
server.starttls()
server.login(‘sender_email_id’,’sender_email_password”)
message=”Message to be sent”
server.sendmail(‘sender_email_id”,i,message)
server.quit()

Envío de correo electrónico con archivos adjuntos desde una cuenta de Gmail

Ahora exploraremos el código sobre cómo podemos enviar un correo electrónico con un archivo adjunto desde la cuenta de Gmail.

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

from_email_add= “Email ID of sender”
to_email_add=”Email ID of receiver”

#instance of MIMEMultipart
msg= MIMEMultipart()

msg[‘from’]=from_email_add
msg[‘to’]=to_email_add
msg[‘subject’]=”Subject of the mail”
body=”Body of the mail”

#attach the body with the msg instance
msg.attach(MIMEText(body,’plain’))

#open the file to be sent
filename=”file_with_the_extension”
attachment=open(“Path of the file”,”rb”)

#instance of MIMEBase and named as server
q=MIMEBase(‘application’,’octet-stream’)

#To change the payload into encoded form
q.set_payload((attachment).read())

#encode into base64
encoders.encode_base64(server)

q.add_header(‘Content-Disposition’,’attachment; filename=%s” % filename)

#attach the instance ‘server’ to instance ‘msg’
msg.attach(q)

#creates SMTP session
server= smtplib.SMTP(‘smtp.gmail.com’,587)

server.starttls()
server.login(from_email_add,”Password of the sender”)
#Converting the Multipart msg into a string
text=msg.as_string()

#sending the mail
server.sendmail(from_email_add,to_email_add,text)
#terminate the session
server.quit()

En esto también puedes usar un bucle para enviarlo a varias personas. Es posible que este código no funcione si la verificación en dos pasos en su cuenta de Gmail está habilitada


Conclusión

Automatizar las tareas de envío de correo electrónico es simple y eficiente con el paquete smtplib de Python. El protocolo SMTP de Python y su facilidad de uso lo convierten en una opción flexible para enviar mensajes a uno o más destinatarios, además de incluir archivos adjuntos.

Python es una gran herramienta para una variedad de aplicaciones, desde campañas de marketing hasta notificaciones, ya que agiliza los procedimientos de comunicación y ahorra tiempo al automatizar las actividades de correo electrónico.

Relacionado

Java vs Python, ¿Cuáles son sus diferencias?

Comparativa e introducción entre dos de los lenguajes de programación más utilizados en la actualidad, como son: Python y Java ? Quizás te interese: mejores libros de programación >> programas para desarrolladores >> mejores lenguajes de programación >> mejores auriculares para programadores >> ratones verticales para ¡SEGUIR LEYENDO!

El mejor lenguaje de programación para la Ciencia de Datos: Python vs. Julia vs. R

El lenguaje de programación es prácticamente la columna vertebral de la ciencia de datos y en el avance moderno de la tecnología, existen muchos lenguajes disponibles. Pero la pregunta, al menos hoy, es cuál de ellos es el más adecuado para un científico de datos. Actualmente, ¡SEGUIR LEYENDO!

¿Qué lenguajes de programación usan los ingenieros de Inteligencia Artificial?

La Inteligencia Artificial se ha convertido en una de los principales puntos dentro de las agendas comerciales para mejorar la experiencia del cliente, la resiliencia y la confiabilidad. Con los avances en aprendizaje automático, análisis de datos e inteligencia artificial conversacional, las empresas comienzan a darse ¡SEGUIR LEYENDO!

Comparando Python con otros lenguajes de programación populares

Este artículo analiza los numerosos beneficios de Python como uno de los lenguajes de programación más importantes disponibles y por qué deberías considerar usarlo para tu proyecto de software en lugar de otras opciones populares. Python es considerado como uno de los lenguajes de programación más ¡SEGUIR LEYENDO!

10 Mejores Herramientas de Inteligencia Artificial con Posibilidades de Crecer en el Futuro

Está claro que en los próximos años, la inteligencia artificial ayudará en todos los desarrollos importantes y cambiará la forma en que se hacen las cosas a día de hoy. Es muy probable, que a largo plazo se termine por convertir en un total aliado indispensable ¡SEGUIR LEYENDO!