Python发送邮件(带附件)

Posted 我是学习的

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python发送邮件(带附件)相关的知识,希望对你有一定的参考价值。

import smtplib                           #发送邮件模块

from email.mime.text import MIMEText    #定义邮件内容

from email.mime.multipart import MIMEMultipart  #用于传送附件

 

#发送邮箱服务器

smtpserver=‘smtp.163.com‘

 

#发送邮箱用户名密码

user=‘[email protected]

password=‘*******‘

 

#发送和接收邮箱

sender=user

receives=[‘[email protected]‘,‘[email protected]‘]

 

 

#发送邮件主题和内容

subject=‘python带附件邮件发送

content=‘<html><h1 style="color:red">python带附件邮件发送测试</h1></html>‘

 

 

#构造附件内容,添加E:Python_scriptlogo.png为附件

send_file=open(r"E:Python_scriptlogo.png",‘rb‘).read()

 

att=MIMEText(send_file,‘base64‘,‘utf-8‘)

att["Content-Type"]=‘application/octet-stream‘

# filename为附件所显示的名称

att["Content-Disposition"]=‘attachment;filename="logo.png"‘

 

#构建发送与接收信息

msgRoot=MIMEMultipart()

#添加文本内容

msgRoot.attach(MIMEText(content, ‘html‘, ‘utf-8‘))

msgRoot[‘subject‘]=subject

msgRoot[‘From‘]=sender

#添加收件人,这里是发送给多人

msgRoot[‘To‘] = ‘,‘.join(receives)

# 添加附件

msgRoot.attach(att)

#SSL协议端口号要使用465

smtp = smtplib.SMTP_SSL(smtpserver, 465)

#HELO 向服务器标识用户身份

smtp.helo(smtpserver)

#服务器返回结果确认

smtp.ehlo(smtpserver)

#登录邮箱服务器用户名和密码

smtp.login(user,password)

print("Start send email...")

smtp.sendmail(sender,receives,msgRoot.as_string())

smtp.quit()

print("Send End")

以上是关于Python发送邮件(带附件)的主要内容,如果未能解决你的问题,请参考以下文章

用Python实现带附件发送邮件的功能

用Python实现带附件发送邮件的功能

用Python实现带附件发送邮件的功能

用Python实现带附件发送邮件的功能

用Python实现带附件发送邮件的功能

Python发送邮件(带附件)