Skip to content

Instantly share code, notes, and snippets.

@there4
Created March 14, 2013 01:57
Show Gist options
  • Save there4/5158198 to your computer and use it in GitHub Desktop.
Save there4/5158198 to your computer and use it in GitHub Desktop.
#!/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