Función que envia correo con varios archivos adjuntos

Ernesto Revilla erny en sicem.biz
Mar Oct 26 18:42:47 CEST 2004


Hola,

había escrito hace tiempo una función similiar que lo puse en mis 
recetas Python:
http://www.sicem.biz/personal/erny/python/Recetas/recetaEnviarMailConAttachments

Te agradecería que lo comparase y me comentes cualquier mejora que tiene 
tu función.
Por cierto, hay una librería para resolver entradas DNS de tipo MX 
(originalmente del mismo Guido) que siempre viene bien para tener a 
mano, si no usas un smarthost (estoy tan quemado de los proveedores de 
Internet!!!!):
http://pydns.sourceforge.net/


Saludos,
Erny


soul escribió:

>He estado estos días recopilando información para crear un función para
>el envío de mail con varios adjuntos. Pues esto es lo que he sacado,
>espero que os sirva y ya sabéis, cualquier mejora que se introduzca
>posteadla en la lista. 
>
>Saludos
>Soul
>
>import smtplib, sys, MimeWriter, StringIO, base64, mimetypes
>
>def
>sendMail(server='localhost',emisor='',receptor='',asunto='asunto',contenido=None,contenidoHTML=None,ficheros=None):
>	
>	
>	server=smtplib.SMTP(server)
>	#server.set_debuglevel(1)
>	#Creamos el mensaje por partes
>	message = StringIO.StringIO()
>	writer = MimeWriter.MimeWriter (message)
>	#Añadimos la cabecera del asunto
>	writer.addheader ('Subject',asunto)
>	writer.startmultipartbody ('mixed')
>	
>	#Añadimos el cuerpo del email
>	if contenido != None:
>		part = writer.nextpart()
>		body = part.startbody('text/plain')
>		body.write(contenido)
>	#Añadimos el cuerpo del email en HTML
>	if contenidoHTML != None:
>		part = writer.nextpart()
>		body = part.startbody('text/html')
>		body.write(contenidoHTML)
>	
>	#Añadimos los adjuntos que se indican en la lista ficheros
>	#Los ficheros debe tener rutas absolutas, creo :-P
>	#la variable ficheros es un lista con las rutas absolutas de los
>	#ficheros a adjuntar
>	for f in ficheros:
>		part = writer.nextpart()
>		part.addheader ('Content-Transfer-Encoding' , 'base64')
>		part.addheader ("Content-Disposition" , 'atachment;filename='+f)
>		#Obtenemos el mime del fichero
>		mimetype=mimetypes.guess_type(f)[0] or 'application/octet-stream'
>		body = part.startbody (mimetype , [(f,f)])
>		body.write(base64.encode(open(f,'rb'), body))
>		
>	
>	#Terminamos el mensaje por partes
>	writer.lastpart ()
>	
>	server.sendmail (emisor, receptor, message.getvalue())
>	server.quit()
>  
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Python-es mailing list
>Python-es en aditel.org
>http://listas.aditel.org/listinfo/python-es
>  
>




---
avast! Antivirus: Saliente mensaje limpio.
Base de datos de Virus (VPS): 0443-2, 21/10/2004
Comprobado en: 26/10/2004 18:42:49
avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software.
http://www.avast.com


------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es