Enviando sencillo email desde Python.

Email desde Python

Es verdad que cada lenguaje tiene sus peculiaridades que lo hace diferente  a los demás. En el mundo de los lenguajes interpretados como lo es Python no es la excepción. Aunque en un principio resulta engorroso por sus diferencias con otros lenguajes, al término de un tiempo esas diferencias se pueden observar como ventajas que nos ayudan a desenvolver de una mejor manera nuestras prácticas. El envío de un mail no es la excepción, y hasta podría asegurar que se sorprenderán con lo sencillo que es poder realizar ésta función en Python.

Al desarrollar scripts de monitoreo o automatizaciones, un 99% de las ocasiones será de mejor práctica el poder enviarnos los resultados a nuestras bandejas de correo con el fin de incrementar la eficiencia en ellos. Realizarlo no puede resultar más fácil, anexo un script con ésta función y que se intenta, a través de los comentarios, su documentación:

#!/usr/bin/env python
import smtplib
#Server SMTP "localhost"
SERVER = "localhost"
#Direcciones remitente y receptora
FROM = "Yo <xxx@gmail.com"
TO = "receptor@yahoo.com.mx"
SUBJECT = "Hola Email!"
TEXT = "Envio de email como ejemplo de uso de la libreria SMTPlib desde Python."
# Cuerpo del mensaje
body = """\
From: %s
To: %s
Subject: %s
%s
""" % (FROM, TO, SUBJECT, TEXT)
# Función de envio de mail
server = smtplib.SMTP(SERVER)
server.sendmail(FROM, TO, body)
server.quit()

Podríamos dividir el script en 3 partes importantes. 1: Definición de variables y asignación de valores. 2: Formación del cuerpo del mensaje haciendo uso de las variables definidas en la primer parte haciendo uso de una sola variable de texto llamada “body”. 3: Apertura de comunicación hacia servidor y envío de correo.

En este ejemplo, se da por hecho que el server “localhost” funciona como SMTP y permitiendo conexiones sin autenticación previa. Para cada caso en particular, esta configuración es dependiente del ambiente donde se utilice. Para ilustrarlo funciona perfecto. El instanciar el módulo “SMTP” del namespace smtplib, puede llegar a requerir forsozamente el uso del puerto TCP por el que abre la conexión.

Si tu SMTP requiere cierta autenticación, será necesario hacer uso del módulo

SMTP.login(user, password)

para dicho fin.

La función “sendmail” es la encargada propiamente del envío de dicho correo, teniendo como parámetros el remitente FROM, destinatario TO y body como cuerpo del correo. Finalmente cerramos la conexión SMTP con función quit()

Como mencioné anteriormente, es un script muy básico, pero que para el efecto de ejemplificar va muy bien. Más adelante se irán detallando manejo de excepciones para las funciones de la librería SMTP así como lograr enviar correos con formato HTML o haciendo uso de SMTPs externos como Gmail.

Dudas? Te escucho 😀

 

Facebook Twitter Email

Entradas relacionadas

También te podría gustar...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *