En este capítulo continuamos viendo más módulos que nos proporciona Python y en concreto utilizaremos el módulo smtplib que nos permitirá enviar emails a través de la vía SMTP, este módulo estará apoyado por algunas funciones del módulo email como MIMEMultipart y MIMEText, respecto a la creación de las cabeceras del email, tales como el content-type que para el ejemplo utilizaremos text/html para el mensaje, así como otros argumentos como Subject (asunto), From (remitente) o To (destinatario).
En la siguiente página puedes obtener más información sobre las cabeceras de email ... http://en.wikipedia.org/wiki/Email
En el ejemplo del capítulo del vídeo tutorial creamos un programa el cual será configurado para poder enviar emails a través del SMTP de Gmail, el programa solicitará las credenciales user y password de Gmail del usuario y también para agregar a las cabeceras del email: el remitente (From), el destinatario (To), el asunto (Subject) y el mensaje html (content-type:text/html).
El código del capítulo del vídeo tutorial es el siguiente ...
import smtplib, getpass
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
print("**** Enviar email con Gmail ****")
user = input("Cuenta de gmail: ")
password = getpass.getpass("Password: ")
#Para las cabeceras del email
remitente = input("From, ejemplo: administrador <admin@gmail.com>: ")
destinatario = input("To, ejemplo: amigo <amigo@mail.com>: ")
asunto = input("Subject, Asunto del mensaje: ")
mensaje = input("Mensaje HTML: ")
#Host y puerto SMTP de Gmail
gmail = smtplib.SMTP('smtp.gmail.com', 587)
#protocolo de cifrado de datos utilizado por gmail
gmail.starttls()
#Credenciales
gmail.login(user, password)
#muestra la depuración de la operacion de envío 1=true
gmail.set_debuglevel(1)
header = MIMEMultipart()
header['Subject'] = asunto
header['From'] = remitente
header['To'] = destinatario
mensaje = MIMEText(mensaje, 'html') #Content-type:text/html
header.attach(mensaje)
#Enviar email
gmail.sendmail(remitente, destinatario, header.as_string())
#Cerrar la conexión SMTP
gmail.quit()
No hay comentarios:
Publicar un comentario