python SMTP实现发送带附件电子邮件
本文实例为大家分享了pythonSMTP发送带附件电子邮件的具体代码,供大家参考,具体内容如下
可采用email模块发送电子邮件附件。发送一个未知MIME类型的文件附件其基本思路如下:
1.构造MIMEMultipart对象做为根容器
2.构造MIMEText对象做为邮件显示内容并附加到根容器
3.构造MIMEBase对象做为文件附件内容并附加到根容器
a.读入文件内容并格式化
b.设置附件头
4.设置根容器属性
5.得到格式化后的完整文本
6.用smtp发送邮件
具体内容参见
importsmtplib importemail.MIMEMultipart importemail.MIMEText importemail.MIMEBase importos.path From="senderaddress" To="recipients" file_name="filename" server=smtplib.SMTP("smtpserveraddress") server.login("username","password")#仅smtp服务器需要验证时 #构造MIMEMultipart对象做为根容器 main_msg=email.MIMEMultipart.MIMEMultipart() #构造MIMEText对象做为邮件显示内容并附加到根容器 text_msg=email.MIMEText.MIMEText("thisisatesttexttotextmime") main_msg.attach(text_msg) #构造MIMEBase对象做为文件附件内容并附加到根容器 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['From']=From main_msg['To']=To main_msg['Subject']="attachtest" main_msg['Date']=email.Utils.formatdate() #得到格式化后的完整文本 fullText=main_msg.as_string() #用smtp发送邮件 try: server.sendmail(From,To,fullText) finally: server.quit()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。