Python利用email模块发送邮件

2020-12-02 15:48:13 浏览数 (1)

引入发送邮件

代码语言:javascript复制
import smtplib
import time
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
#邮件发送的用户名和密码 常识:第三方授权
_user='你的邮箱@163.com'
_pwd='输入密码'

now=time.strftime('%Y-%m-%d-%H-%M-%S')#获取时间戳

class sendEmail:
    def send_email(self,email_to,filepath):
        #email_to 收件方
        #filepath你要发送的邮件地址
        #如名字所示Multipart就是分多个部分
        msg=MIMEMultipart()
        msg['Subject']=now  '清菡的测试报告'
        msg['From']=_user
        msg['To']=email_to

        #---这是文字部分---
        part=MIMEText('这是自动化测试结果,请查收!')
        msg.attach(part)

        #----这是附件部分-----
        #发多个附件
        # path=['1','2','3']#很多路径
        # for item in path:
        #     part=MIMEApplication(open(item,'rb').read())
        #     part.add_header('Content-Disposition','attachment',filename=filepath)
        #     msg.attach(part)

#它只能读文件不能读文件夹,所以可把文件放在列表里面,下面做个for循环。

        #发一个附件
        part=MIMEApplication(open(filepath,'rb').read())
        part.add_header('Content-Disposition','attachment',filename=filepath)
        msg.attach(part)
        s=smtplib.SMTP_SSL('smtp.163.com',timeout=30)#连接smtp邮件服务器,端口默认是25
        s.login(_user,_pwd)#登录服务器
        s.sendmail(_user,email_to,msg.as_string())#发送邮件

if __name__ == '__main__':
    sendEmail().send_email('你的邮箱/别人的邮箱@163.com',r'C:Users18210DesktoppythonjiaobenningmenbanAPI_AUTO _1test_resulthtml_reporttest_api.html')

收到邮件


欢迎扫码关注!

0 人点赞