[gl-como] python per inviare mail tramite gmail

luca marletta lucamarle@gmail.com
Dom 18 Gen 2009 18:24:19 CET


ho trovato questo script che funziona molto bene e permette di inviare
mail utilizzando le librerie smtp di python senza quendi dover
installare un mailserver (bella cosa se si deve solo inviare un log in
caso di errore)

Lo posto qui tanto è breve. Qualcuno tipo redshadow per fare un
esempio.. mi dice come fare per aggiungere un certificato SSL e
mettere tutto il messaggio in ssl?

----------------------------- script -----------------------------
#!/usr/bin/python
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email import Encoders
import os

gmail_user = "nomeaccount@gmail.com"
gmail_pwd = "xxxxxx"

def mail(to, subject, text, attach=None):
   msg = MIMEMultipart()

   msg['From'] = gmail_user
   msg['To'] = to
   msg['Subject'] = subject

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

   mailServer = smtplib.SMTP("smtp.gmail.com", 587)
   #mailServer = ssmtplib.SMTP_SSL("smtp.gmail.com")
   mailServer.ehlo()
   mailServer.starttls()
   mailServer.ehlo()
   mailServer.login(gmail_user, gmail_pwd)
   mailServer.sendmail(gmail_user, to, msg.as_string())
   # Should be mailServer.quit(), but that crashes...
   mailServer.close()

mail("nome@mail.it", "Hello from python!", "This is a email sent with
python", "")   #"../tmp/logo.png")
----------------------------- script -----------------------------

magari serve a qualcuno

ciao

luca

luca marletta
www.beopen.it


Maggiori informazioni sulla lista gl-como