import smtplib import os from email.mime.text import MIMEText from email.mime.base import MIMEBase from email.mime.multipart import MIMEMultipart from email import encoders import getpass directorio = 'Directorio de donde Sacamos los Archivos' asunto = 'Aca va el asunto' destinatarios = ['complete aqui con sus destinatarios',] sender = 'Aca va Nuestra Direccion' contenido = 'Texto que queremos que se lea en los mensajes' host = 'servidor SMTP que vamos a usar' login = 'nuestro usuario' #creamos el contenedor listademails = [] numeroParte = 1 listadoArchivos = os.listdir(directorio) listadoArchivos.sort() for archivo in listadoArchivos: path = os.path.join(directorio, archivo) msg = MIMEMultipart() msg['Subject'] = asunto + ' %d de %d' % (numeroParte, len(listadoArchivos))) numeroParte += 1 msg['From']= sender msg['To']=', '.join(destinatarios) #msg.preamble = '' texto = MIMEText(contenido, 'plain') msg.attach(texto) #Adjuntamos el Archivo fp = open(path, 'rb') adjunto = MIMEBase('application', 'octet-stream') adjunto.set_payload(fp.read()) fp.close() encoders.encode_base64(adjunto) adjunto.add_header('Content-Disposition', 'attachment', filename = archivo) msg.attach(adjunto) listademails.append(msg.as_string()) server = smtplib.SMTP(host) server.login(login, getpass.getpass()) for mail in listademails: server.sendmail(sender, destinatarios, mail) server.quit()Dejo en el lector las criticas pertinentes a esta 'Belleza'(ironicmode =True) que sorprende por su extrema pythonicidad :P
martes, 1 de diciembre de 2009
Mandando el contenido de un directorio como archivos adjuntos
Hoy necesitaba mandar un archivo dividido en 18 partes de 400kB, debido a las limitaciones del proveedor de correo de un colega cubano. La opción de hacerlo a mano es realmente engorrosa, asi que con la ayuda de la documentación de python me mande este script:
Suscribirse a:
Comentarios de la entrada (Atom)
1 comentario:
Si, probablemente lo sea
Publicar un comentario