[Python] email, allegati e pigrizia

Stefano e.tino a email.it
Mer 28 Mar 2007 09:14:19 CEST


Sandro Dentella ha scritto:
> 
> Se no mi costa meno chiamare 'mutt -a' ;-)
> 

Ciao Sandro,

ti riporto qui di seguito un breve listato che uso per inviare delle 
mail con allegato, non è molto commentato spero sia comunque comprensibile.

----
import os

import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.Utils import COMMASPACE, formatdate
from email import Encoders



def sendMail(mittente, to, subject, text, files=[],server="localhost"):
     assert type(to)==list
     assert type(files)==list

     msg = MIMEMultipart()
     msg['From'] = mittente
     msg['To'] = COMMASPACE.join(to)
     msg['Date'] = formatdate(localtime=True)
     msg['Subject'] = subject
     #~ se è necessaria la conferma di lettura
     msg['Disposition-Notification-To'] = mittente

     msg.attach( MIMEText(text) )

     for file in files:
         part = MIMEBase('application', "octet-stream")
         part.set_payload( open(file,"rb").read() )
         Encoders.encode_base64(part)
         part.add_header('Content-Disposition', 'attachment; filename="%s"'
                        % os.path.basename(file))
         msg.attach(part)

     smtp = smtplib.SMTP(server)
     smtp.sendmail(fro, to, msg.as_string() )
     smtp.close()


if __name__ == '__main__':

     smpt_server = 'mail.dominio.it'
     mittente = 'Mittente <mittente a dominio.it'
     destinatari = ['dest a dominio.it',]
     oggetto = "Oggetto"
     corpo = "Cordiali Saluti \n\n Mittente"
     pathname = os.getcwd()
     file_allegato = pathname+"\\"+filename+".pdf"
     sendMail(mittente, destinatari, oggetto, corpo, [file_allegato], 
smtp_server)


> 
> grazie
> *:-)

Prego ;-)

Saluti
Stefano
 
 
 --
 Email.it, the professional e-mail, gratis per te: http://www.email.it/f
 
 Sponsor:
 Prestiti e Finanziamenti con un semplice click, scopri subito se sei finanziabile cliccando qui
 Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=2910&d=28-3


Maggiori informazioni sulla lista Python