Python es un lenguaje de programación muy potente y sencillo de aprender. Ademas, cuenta con una serie de librerías y módulos con funciones ya implementadas para hacer determinadas acciones comunes. Entre ellas, una que yo suelo utilizar, es la del envío de reportes por mail cuando finalizan mis scripts. Lo interesante es que con un formateo sencillo permite el envío de mensajes con el cuerpo en html, dándoles un mejor aspecto en nuestro gestor de correo.
def sendmail(body):
smtpserver = 'smtp.dominio.com'
sender='sender@dominio.com'
sysadmin1='receiver1@dominio.com'
sysadmin2='receiver2@dominio.com'
receiver = [ sysadmin1 , sysadmin2 ]
header='''
Envio de mail formateado en HTML
h2 {font-size:14px;margin: 2px;}
h3 {font-size:12px;margin: 2px;}
p {font-size:10px; margin: 2px;}
td {border: 1px outset}
'''
footer=''
msgbdy = open(body, 'rb')
msg = MIMEText(header+msgbdy.read()+footer, 'html')
msgbdy.close()
msg['Subject'] = 'Asunto del mensaje'
msg['From'] = sender
msg['To'] = sysadmin1
msg['CC'] = sysadmin2
correo = smtplib.SMTP(smtpserver)
correo.sendmail(sender, receiver, msg.as_string())
correo.quit()
A la funcion le paso como parámetro el nombre del fichero de log, que posteriormente se codificará como un objeto MIME.
En el fichero de log, en lugar de introducirle «retornos de carro», introduzco etiquetas del tipo
,
,
e incluso estilos para modificar el formato de la salida.