欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python利用email模块发送邮件

程序员文章站 2024-03-18 14:54:52
...

引入发送邮件

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:\Users\18210\Desktop\python\jiaoben\ningmenban\API_AUTO _1\test_result\html_report\test_api.html')

收到邮件

Python利用email模块发送邮件Python利用email模块发送邮件

欢迎扫码关注!

Python利用email模块发送邮件

Python利用email模块发送邮件