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