自动化测试学习之--Python 邮件发送带附件的邮件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/juhua2012/article/details/89165752
# 发送带附件的邮件
# 案例:发送C:\Users\lj\Desktop\目录下 baidu.png图片文件到指定的邮箱
import smtplib                           #发送邮件模块
from email.mime.text import MIMEText    #定义邮件内容
from email.mime.multipart import MIMEMultipart  #用于传送附件

#发送邮箱服务器
smtpserver='smtp.163.com'

#发送邮箱用户名密码(密码是授权密码)
user='[email protected]'
password='******'

#发送和接收邮箱
sender='[email protected]'
receives=['[email protected]','[email protected]']


#发送邮件主题和内容
subject='Web Selenium 附件发送测试'
content='<html><h1 style="color:red">收到邮件没!</h1></html>'


#构造附件内容
send_file=open(r"C:\Users\lj\Desktop\\baidu.png",'rb').read()

att=MIMEText(send_file,'base64','utf-8')
#设置文件类型 二进制
att["Content-Type"]='application/octet-stream'
#设置相关属性
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!")

猜你喜欢

转载自blog.csdn.net/juhua2012/article/details/89165752