Sending Email
# [SNIPPET_NAME: Sending Email] # [SNIPPET_CATEGORIES: smtplib, email] # [SNIPPET_DESCRIPTION: Sending mail from gmail account with many attachements and to_many_mails_ids] # [SNIPPET_AUTHOR: kutuma] # [SNIPPET_LICENSE: GPL] # [SNIPPET_UPLOADED_BY: Arulalan.T <[email protected]>] # you need to set the gmail user name and its password at the line of 22 and 23 st (in gedit, line number) of this snippet. # you need to set the to_mail_ids in a string array , subject, body , attachements_absolute_path in a string array from the line of 26 of this snippet. #!/usr/bin/python # ref : http://kutuma.blogspot.com/2007/08/sending-emails-via-gmail-with-python.html 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 = "[email protected]" gmail_pwd = "gmail_password" body=" I am Body " subject="I am Subject " to_mail_ids=["friend1_mail_id","friend2_mail_id"] attachements_path=["absolute_attachement1_with_extension","absolute_attachement2_with_extension"]# for eg : /home/arul/z/nnk.txt, /home/arul/python/sam.py def mail(to, subject, text, attach=[]): msg = MIMEMultipart() msg['From'] = gmail_user msg['To'] = to msg['Subject'] = subject msg.attach(MIMEText(text)) try: for i in range(len(attach)): part = MIMEBase('application', 'octet-stream') part.set_payload(open(attach[i], 'rb').read()) Encoders.encode_base64(part) part.add_header('Content-Disposition','attachment; filename="%s"' % os.path.basename(str(attach[i]))) msg.attach(part) except: print " The attachments doesnt exist in the path %s and %s" % (attach[0],attach[1]) mailServer = smtplib.SMTP("smtp.gmail.com", 587) 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() for to_mail_id in (to_mail_ids): mail(to_mail_id, subject, body, attachements_path) print "mail sent to :"+to_mail_id print "\nmail sent successfully to all\n"