在python中如何发送带有附件的邮件?
380次观看
标签:
附件
邮件
python
老师回答
在发邮件时,如果需要发文件,我们会与电子邮件附在一起传送至对方邮箱。用来附加说明或者提供材料用的电子表格 网页、数据库等等是不能简单用文本形式的邮件来发送的,而且表格、网页、数据库等在邮件服务商提供的信纸界面上是显示不出来的,所以要以附件的形式发送附件类型可以是各类文件,不能识别的文件加到压缩包里应该也可以发送。那么接下来看,小编就教大家在python中发送带附件的邮件。
发送带附件的邮件,首先要创建MIMEMultipart()实例,然后构造附件,如果有多个附件,可依次构造,最后利用smtplib.smtp发送。
代码:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header
from email.mime.application import MIMEApplication
if __name__ == '__main__':
from_addr = 'xxx@qq.com'
password = 'xxx'
to_addr = 'xxx@qq.com'
smtp_server = 'smtp.qq.com'
pdfFile = 'test.pdf'
pdfApart = MIMEApplication(open(pdfFile, 'rb').read())
pdfApart.add_header('Content-Disposition', 'attachment', filename=pdfFile)
msg_file = MIMEMultipart()
msg_file['From'] = Header(from_addr)
msg_file['To'] = Header(to_addr)
msg = MIMEText('send by python,中文', 'plain', 'utf-8')
msg_file.attach(msg)
msg_file.attach(pdfApart)
msg_file['Subject'] = 'title'
server = smtplib.SMTP_SSL(smtp_server)
server.connect(smtp_server, 465)
server.login(from_addr, password)
server.sendmail(from_addr, to_addr, msg_file.as_string())
server.quit()
平时大家群发的邮件通常都制作精美、图文搭配、布局精巧,而且邮件还动态适配不同的终端,如果我们做不到优美漂亮,至少要说清楚邮件内容。以附件的形式发送,可以很好的说明我们的想法,快点学起来哦~
©本文版权归环球青藤所有,任何形式转载请联系我们。
免费直播
精选课程
相关推荐