发送EMail:
引入:
import smtplib from email.Header import Header from email.MIMEMultipart import MIMEMultipart from email.MIMEText import MIMEText import email.MIMEBase
1、
def getMailcontent(subject,text,attachfile=['']): main_msg = MIMEMultipart() file_list = attachfile text_msg = MIMEText(text) main_msg.attach(text_msg) for file_name in file_list: if file_name == '': continue contype = 'application/octet-stream' maintype, subtype = contype.split('/', 1) data = open(file_name, 'rb') file_msg = email.MIMEBase.MIMEBase(maintype, subtype) file_msg.set_payload(data.read( )) data.close( ) email.Encoders.encode_base64(file_msg) basename = os.path.basename(file_name) file_msg.add_header('Content-Disposition','attachment', filename = basename) main_msg.attach(file_msg) main_msg['subject'] = subject return main_msg.as_string()
2、
def sendmail(sender, mail_list, msg): server = smtplib.SMTP('smtpaddress') server.login('username', 'pwd') server.sendmail(sender, mail_list, msg) server.quit()
3、
subject = "test"
content = "hello word~"
filelist = ['attach_path1', 'attach_path2']
msg = getMailcontent(subject, content, filelist) sendmail(sender, mail_list, msg)
改进版:
# -*- coding: utf-8 -*- import smtplib from email.MIMEMultipart import MIMEMultipart from email.MIMEText import MIMEText import email.MIMEBase import os import sys reload(sys) sys.setdefaultencoding("utf-8") class EMail(object): def send(self, subject, content, recvers=["sudazhuang@jh*.com"]): server = smtplib.SMTP_SSL(host='smtp.exmail.qq.com', port=465) server.login('sudazhuang@jh*.com', '*oxAh**pbbOTfc2m') email = self.create_email(subject, content) server.sendmail("sudazhuang@jh*.com", recvers, email) server.quit() def create_email(self, subject, content, attachfile=None): main_msg = MIMEMultipart() if attachfile is None: attachfile = [] file_list = attachfile text_msg = MIMEText(content) main_msg.attach(text_msg) for file_name in file_list: contype = 'application/octet-stream' maintype, subtype = contype.split('/', 1) data = open(file_name, 'rb') file_msg = email.MIMEBase.MIMEBase(maintype, subtype) file_msg.set_payload(data.read()) data.close() email.Encoders.encode_base64(file_msg) basename = os.path.basename(file_name) file_msg.add_header('Content-Disposition', 'attachment', filename=basename) main_msg.attach(file_msg) main_msg['subject'] = subject return main_msg.as_string()
浙公网安备 33010602011771号