python 发邮件给多人_python 给多人发送邮件,且将结果添加为附件

import unittest,HTMLTestRunner

import os

def runa():

path=os.getcwd()

print(path)

a=unittest.defaultTestLoader.discover(path,

pattern='login*.py')

al=unittest.TestSuite()

al.addTest(a)

#print(al)

return al

import os,time

from email.mime.text import MIMEText

from email.header import Header

from email.mime.multipart import MIMEMultipart

from email.utils import formataddr

import smtplib

def lu(path):

filesn=os.listdir(path)

filesn.sort(key=lambda x:os.path.getmtime(path+x))

#luf=path+filesn[-1]

luf=os.path.join(path+filesn[-1])

return luf

#print(lu("D:\\study\\python_api_test\\test1204\\"))

def send_out(luf):

x=open(luf,'rb')

email=x.read()

x.close()

usernames='371933505@qq.com'

passwd='kclpuvarbapocagj' #此处密码错误,运行时,修改为正确密码

sender='371933505@qq.com'

receiver=['371933505@qq.com','1059084854@qq.com']

info=MIMEMultipart()

info['From']=Header("测试人:慧慧"%sender,'utf-8')

info['To']=Header("请老板们查阅"%receiver,'utf-8')

info['Subject']=Header('这是python自动化测试报告...','utf-8')

info.attach(MIMEText(email,'html','utf-8'))

attach1=MIMEText(open(luf,'rb').read(),'base64','utf-8')

attach1['Content-Type']='application/octet-stream'

attach1["Content-Disposition"]='attachment;filename="result.html"'

info.attach(attach1)

smtp=smtplib.SMTP_SSL("smtp.qq.com",465)

smtp.login(usernames,passwd)

smtp.sendmail(sender,receiver,info.as_string())

smtp.quit()

print("邮件已发出!请注意查收!")

if __name__=="__main__":

#unittest.TextTestRunner().run(runa())

htmlrun=unittest.TextTestRunner()

result=os.path.join(os.getcwd()+"\\result.html") #无result.html,则会自动创建

print(result)

a=open(result,'wb')

htmlrun=HTMLTestRunner.HTMLTestRunner(stream=a,

title='自动化测试结果',

description='具体结果如下:',

verbosity=2)

htmlrun.run(runa())

a.close()

path="D:\\study\\python_api_test\\test1204\\"

hehe=lu(path)

send_out(hehe)

======================================================================

小结:

1.python使用了

a=['ab','ee']

b=';'.join(a) #输出结果为ab;ee

2.使用了email中的MIMEMutipart()

附件att1

info=MIMEMutipart()

att1=MIMEText(open('**文件','rb').read(),'base64','utf-8')

att1=['Content-Type"]='application/octet-stream'

att1=['Content-Disposition']='attachment;filename="可随意命名"'

info.attach(att1)

Text1=MIMEText(open('**文件.html','rb').read())

info.attach(Text1,'html','utf-8')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值