在发邮件时,如果需要发文件,我们会与电子邮件附在一起传送至对方邮箱。用来附加说明或者提供材料用的电子表格 网页、数据库等等是不能简单用文本形式的邮件来发送的,而且表格、网页、数据库等在邮件服务商提供的信纸界面上是显示不出来的,所以要以附件的形式发送附件类型可以是各类文件,不能识别的文件加到压缩包里应该也可以发送。那么接下来看,小编就教大家在python中发送带附件的邮件。
发送带附件的邮件,首先要创建MIMEMultipart()实例,然后构造附件,如果有多个附件,可依次构造,最后利用smtplib.smtp发送。
代码:importsmtplib
fromemail.mime.multipartimportMIMEMultipart
fromemail.mime.textimportMIMEText
fromemail.headerimportHeader
fromemail.mime.applicationimportMIMEApplication
if__name__=='__main__':
from_addr='xxx@'
password='xxx'
to_addr='xxx@'
smtp_server=''
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('sendbypython,中文','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()
平时大家群发的邮件通常都制作精美、图文搭配、布局精巧,而且邮件还动态适配不同的终端,如果我们做不到优美漂亮,至少要说清楚邮件内容。以附件的形式发送,可以很好的说明我们的想法,快点学起来哦~