Skip to content

Instantly share code, notes, and snippets.

@sokrato
Created July 31, 2015 08:08
Show Gist options
  • Save sokrato/f26698d08322d2851d05 to your computer and use it in GitHub Desktop.
Save sokrato/f26698d08322d2851d05 to your computer and use it in GitHub Desktop.
Send mail with attachments in Python
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.Utils import COMMASPACE, formatdate
from email import Encoders
import os
def sendMail(to, fro, subject, text, files=[],server="localhost"):
assert type(to)==list
assert type(files)==list
msg = MIMEMultipart()
msg['From'] = fro
msg['To'] = COMMASPACE.join(to)
msg['Date'] = formatdate(localtime=True)
msg['Subject'] = subject
msg.attach( MIMEText(text) )
for file in files:
part = MIMEBase('application', "octet-stream")
part.set_payload( open(file,"rb").read() )
Encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename="%s"'
% os.path.basename(file))
msg.attach(part)
smtp = smtplib.SMTP(server)
smtp.sendmail(fro, to, msg.as_string() )
smtp.close()
# Example:
sendMail(
['name <dlutxx@gmail.com>'],
'phpGeek <masnun@leevio.com>',
'Hello Python!',
'Heya buddy! Say hello to Python! :)',
['id_rsa.pub'])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment