python发送带附件的邮件

Send email with attachment


  1. import smtplib 
  2. from email.MIMEMultipart import MIMEMultipart 
  3. from email.MIMEBase import MIMEBase 
  4. from email.MIMEText import MIMEText 
  5. from email.Utils import COMMASPACE, formatdate 
  6. from email import Encoders 
  7. import os 
  8.  
  9. def sendMail(to, subject, text, files=[],server="localhost"): 
  10.     assert type(to)==list 
  11.     assert type(files)==list 
  12.     fro = "Expediteur <expediteur@mail.com>" 
  13.  
  14.     msg = MIMEMultipart() 
  15.     msg['From'] = fro 
  16.     msg['To'] = COMMASPACE.join(to) 
  17.     msg['Date'] = formatdate(localtime=True
  18.     msg['Subject'] = subject 
  19.  
  20.     msg.attach( MIMEText(text) ) 
  21.  
  22.     for file in files: 
  23.         part = MIMEBase('application'"octet-stream"
  24.         part.set_payload( open(file,"rb").read() ) 
  25.         Encoders.encode_base64(part) 
  26.         part.add_header('Content-Disposition''attachment; filename="%s"' 
  27.                        % os.path.basename(file)) 
  28.         msg.attach(part) 
  29.  
  30.     smtp = smtplib.SMTP(server) 
  31.     smtp.sendmail(fro, to, msg.as_string() ) 
  32.     smtp.close() 
  33.  
  34.  
  35. sendMail( 
  36.         ["destination@dest.kio"], 
  37.         "hello","cheers"
  38.         ["photo.jpg","memo.sxw"
  39.     ) 

 本文转自阿汐 51CTO博客,原文链接:http://blog.51cto.com/axiii/301199,如需转载请自行联系原作者


上一篇:RHEL6 KVM虚拟化配置总结


下一篇:《Cocos2D-x权威指南》——1.1 什么是Cocos2D