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发送邮件(带附件)的主要内容,如果未能解决你的问题,请参考以下文章