python smtplib模块实现发送邮件带附件sendmail
本文实例为大家分享了pythonsmtplib实现发送邮件的具体代码,供大家参考,具体内容如下
#!/usr/bin/envpython #-*-coding:UTF-8-*- fromemail.mime.multipartimportMIMEMultipart fromemail.mime.baseimportMIMEBase fromemail.mime.textimportMIMEText fromemail.utilsimportCOMMASPACE,formatdate fromemailimportencoders importos defsend_mail(server,fro,to,subject,text,files=[]): asserttype(server)==dict asserttype(to)==list asserttype(files)==list msg=MIMEMultipart() msg['From']=fro msg['Subject']=subject msg['To']=COMMASPACE.join(to)#COMMASPACE==',' msg['Date']=formatdate(localtime=True) msg.attach(MIMEText(text)) forfinfiles: part=MIMEBase('application','octet-stream')#'octet-stream':binarydata part.set_payload(open(f,'rb').read()) encoders.encode_base64(part) part.add_header('Content-Disposition','attachment;filename="%s"'%os.path.basename(f)) msg.attach(part) importsmtplib smtp=smtplib.SMTP(server['name'],server['port']) smtp.ehlo() smtp.starttls() smtp.ehlo() smtp.login(server['user'],server['passwd']) smtp.sendmail(fro,to,msg.as_string()) smtp.close() if__name__=='__main__': server={'name':'mail.server.com','user':'chenxiaowu','passwd':'xxxx','port':25} fro='chenxiaowu@163.com' to=['xxxx@163.com'] subject='脚本运行提醒' text='mailcontent' files=['top_category.txt'] send_mail(server,fro,to,subject,text,files=files)
从网上找了些资料,不会有个别错误,上面代码经调试测试通过。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。