码迷,mamicode.com
首页 > 编程语言 > 详细

python发送邮件

时间:2018-06-11 22:45:30      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:str   mail   subject   data   smt   .text   body   测试报告   last   

使用python完成邮件的发送

 

1、邮件需要的基本信息

2、python发送邮件

 

1、邮件需要的基本信息

发件人的服务器、发送人、接收人(是否多个)、主题、内容,是否有附件

 

 

2、python发送邮件

import smtplib
from email.mime.text import MIMEText  #此模块可以用于发送正文
from email.mime.multipart import MIMEMultipart #此模块用于发送带附件的邮件


#邮件基础信息配置
smtpserver = "smtp.163.com" #发件服务器,qq邮箱为smtp.qq.com
port = 0    #端口,qq邮箱为465
sender = "XX@163.com" #发件箱
psw = " XXXX"  #qq邮箱为授权码
receiver = "XXXXXX@qq.com" #收件箱,多个邮箱为["XX@qq.com","XXXX@163.com"] 
msg=MIMEMultipart()
msg["from"]=sender
msg["to"]=receiver  #发给单个邮箱
#msg["to"]=";".join(receiver)  #发给多个邮箱
msg["subject"]="test"

body=MIMEText(mail_body,"html","utf-8")
msg.attach(body)                               #读取附件中的正文作为邮件正文

#附件信息的配置
file_path=r"D:\result.html"  #读取本地的一个一个测试报告
with open(file_path,"rb") as fp:
    mail_body=fp.read()

att=MIMEText(mail_body,"basse64","utf-8")
att["Content-Type"]="application/octet-stream"
att["Content-Disposition"]=‘attachment; filename="test_report.html"‘  #将系统中的result.html重命名一下作为附件发送
msg.attach(att)

#兼容一般邮箱和qq邮箱
try:
    smtp = smtplib.SMTP()
    smtp.connect(smtpserver)  #连接服务器 ,一般邮箱,如163等
    smtp.login(sender,psw)    #登录
except:
    smtp=smtplib.SMTP_SSL(smtpserver,port) #连接服务器,qq邮箱
    smtp.login(sender,psw)    #登录
smtp.sendmail(sender,receiver,msg.as_string()) #发送
smtp.quit()    #关闭
 





python发送邮件

标签:str   mail   subject   data   smt   .text   body   测试报告   last   

原文地址:https://www.cnblogs.com/weizhideweilai/p/9170326.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!