python发送邮件

Posted 给明天的自己

tags:

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

使用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 = "[email protected]" #发件箱
psw = " XXXX"  #qq邮箱为授权码
receiver = "[email protected]" #收件箱,多个邮箱为["[email protected]","[email protected]"] 
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:
esult.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发送邮件的主要内容,如果未能解决你的问题,请参考以下文章

超实用的php代码片段

Javascript - 使用 HTML 片段通过电子邮件发送 JSON 输出

Github 大牛封装 Python 代码,实现自动发送邮件只需三行代码

C#和ASP.NET通过Gmail账户发送邮件的代码

python笔记- 发送邮件

实现Python代码发送邮件