您的位置:首页技术文章
文章详情页

python邮件中附加文字、html、图片、附件实现方法

【字号: 日期:2022-06-30 14:03:08浏览:29作者:猪猪

关于python写邮件各种功能我们已经介绍过很多,大家有兴趣可以参考:

python自动化发送邮件实例讲解

python实现发送QQ邮件(可加附件)

下面我们看下本次介绍的全部代码实例

import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.image import MIMEImage from email.header import Header #设置smtplib所需的参数#下面的发件人,收件人是用于邮件传输的。smtpserver = ’smtp.163.com’username = ’XXX@163.com’password=’XXX’sender=’XXX@163.com’#receiver=’XXX@126.com’#收件人为多个收件人receiver=[’XXX@126.com’,’XXX@126.com’] subject = ’Python email test’#通过Header对象编码的文本,包含utf-8编码信息和Base64编码信息。以下中文名测试ok#subject = ’中文标题’#subject=Header(subject, ’utf-8’).encode() #构造邮件对象MIMEMultipart对象#下面的主题,发件人,收件人,日期是显示在邮件页面上的。msg = MIMEMultipart(’mixed’) msg[’Subject’] = subjectmsg[’From’] = ’XXX@163.com <XXX@163.com>’#msg[’To’] = ’XXX@126.com’#收件人为多个收件人,通过join将列表转换为以;为间隔的字符串msg[’To’] = ';'.join(receiver) #msg[’Date’]=’2012-3-16’ #构造文字内容 text = 'Hi!nHow are you?nHere is the link you wanted:nhttp://www.baidu.com' text_plain = MIMEText(text,’plain’, ’utf-8’) msg.attach(text_plain) #构造图片链接sendimagefile=open(r’D:pythontesttestimage.png’,’rb’).read()image = MIMEImage(sendimagefile)image.add_header(’Content-ID’,’<image1>’)image['Content-Disposition'] = ’attachment; filename='testimage.png'’msg.attach(image) #构造html#发送正文中的图片:由于包含未被许可的信息,网易邮箱定义为垃圾邮件,报554 DT:SPM :<p><img src='cid:image1'></p>html = '''<html> <head></head> <body> <p>Hi!<br> How are you?<br> Here is the <a href='http://www.baidu.com' rel='external nofollow' >link</a> you wanted.<br> </p> </body> </html> ''' text_html = MIMEText(html,’html’, ’utf-8’)text_html['Content-Disposition'] = ’attachment; filename='texthtml.html'’ msg.attach(text_html) #构造附件sendfile=open(r’D:pythontest1111.txt’,’rb’).read()text_att = MIMEText(sendfile, ’base64’, ’utf-8’) text_att['Content-Type'] = ’application/octet-stream’ #以下附件可以重命名成aaa.txt #text_att['Content-Disposition'] = ’attachment; filename='aaa.txt'’#另一种实现方式text_att.add_header(’Content-Disposition’, ’attachment’, filename=’aaa.txt’)#以下中文测试不ok#text_att['Content-Disposition'] = u’attachment; filename='中文附件.txt'’.decode(’utf-8’)msg.attach(text_att) #发送邮件smtp = smtplib.SMTP() smtp.connect(’smtp.163.com’)#我们用set_debuglevel(1)就可以打印出和SMTP服务器交互的所有信息。#smtp.set_debuglevel(1) smtp.login(username, password) smtp.sendmail(sender, receiver, msg.as_string()) smtp.quit()

小编测试后发现,这个实例可以把很多元素当做一个多文本编辑器,放在邮件附件里,非常好用。

以上就是python邮件中附加文字、html、图片、附件实现方法的详细内容,更多关于python邮件中添加元素附件方法的资料请关注好吧啦网其它相关文章!

标签: Python 编程
相关文章: