Created
March 14, 2013 01:57
-
-
Save there4/5158198 to your computer and use it in GitHub Desktop.
Simple Gmail Email in Python from http://david-bieber.tumblr.com/post/45294395663/automate-your-life-sending-emails
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python | |
# Adapted from http://kutuma.blogspot.com/2007/08/sending-emails-via-gmail-with-python.html | |
import getpass | |
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 = "wrong password" | |
def login(user): | |
global gmail_user, gmail_pwd | |
gmail_user = user | |
gmail_pwd = getpass.getpass('Password for %s: ' % gmail_user) | |
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.ehlo() | |
mailServer.starttls() | |
mailServer.ehlo() | |
mailServer.login(gmail_user, gmail_pwd) | |
mailServer.sendmail(gmail_user, to, msg.as_string()) | |
mailServer.close() | |
# Example! | |
def example(): | |
email = raw_input("Your Gmail address: ") | |
login(email) | |
mail("[email protected]", "Automate your life: sending emails", "Why'd the elephant sit on the marshmallow?") | |
example() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment