#!/usr/bin/python # tom.luo@gmail.com # 01/02/2007 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 = "your_name@gmail.com" gmail_pwd = "your_password" def mail(to, subject, text, attach): 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) smtp_server = smtplib.SMTP("smtp.gmail.com", 587) smtp_server.ehlo() smtp_server.starttls() smtp_server.ehlo() smtp_server.login(gmail_user, gmail_pwd) smtp_server.sendmail(gmail_user, to, msg.as_string()) smtp_server.close() if __name__ == "__main__": import sys to = sys.argv[1] subject = sys.argv[2] msg = sys.argv[3] if len(sys.argv)==5: attachment= sys.argv[4] mail(to,subjec,msg,attachment) else: mail(to,subject,msg,'') # Usage: google.py to@gmail.com subject "test from python" attachment.txt