python代码实现邮件发送

python实现邮件自动发送,同时可以带上附件,并向多人发送邮件

#coding:utf-8
import smtplib,os
from tools.configData import configKV
from email.mime.text import MIMEText
from email.header import Header
from email.mime.application import MIMEApplication
from email.mime.multipart import MIMEMultipart

class mail(object):
    """
           host:指定连接的邮箱服务器,port:端口,user:邮箱用户名,password:邮箱密码,sender:邮件发送者地址,receiver:邮件接收者地址,msg:邮件内容
           """
    def sendmail(self, host, port, user, password, sender, receiver, msg):
        smtp = smtplib.SMTP()
        smtp.connect(host, port)
        smtp.login(user, password)
        smtp.sendmail(sender, receiver, msg)
        smtp.quit()

    def get_Msgs(self): #邮件body内容
        config=configKV()
        url=config.getKeys('url.ini','url')
        host_port=config.getKeys_values('hostport.ini','host_port')
        msgs =  'xxxx系统/xxxx接口全量测试报告' + '\n' \
                '1.概述' + '\n' \
                  '测试目的:全量stockid验证行情接口的正确性' + '\n' \
                  '被测接口:'+str(url)+ '\n' \
                '2.测试环境' + '\n' \
                  '服务器IP:xxx.xxx.xxx.xxx' + '\n' \
                  '服务器端口:8088'+ '\n' \
                '3.数据库信息' + '\n' \
                   '数据库ip:xxx.xxx.xxx.xxx'+ '\n' \
                   '数据库用户名:8080' + '\n' \
                   '数据库密码:abcabc'+ '\n' \
                '4.测试方式' + '\n' \
                  '自动测试' + '\n' \
                '5.风险点'+'\n'\
                  '1)测试是否通过是与公共接口(xxx.xxx.xxx.xxx)比较确定的,可能存在公共接口和测试接口数据都不正确的情况'+'\n' \
                  '2)测试用例更新不及时'+ '\n' \
                  '3)测试环境出现异常' + '\n' \
                  '4)其他未能预测的风险' + '\n' \
                "注:测试数据详见附件!缺陷可能会很多,故不再写入excel,可sql语句查询(SELECT * FROM mms.full_result t WHERE t.result='0';)"
        return msgs

    #emailName:邮件名称,msgs:邮件body
    #host:指定连接的邮箱服务器,port:端口,user:邮箱用户名,password:邮箱密码,sender:邮件发送者地址,receiver:邮件接收者地址,多个接收者则可以组织成一个list
    def sendReport(self,msgs,emailName,host, port, user, password, sender, receiver):
        xlsxpart = MIMEApplication(open('xxx/xxx/report.xlsx','rb').read())    
        xlsxpart.add_header('Content-Disposition', 'attachment', filename=report.xlsx)  #加入要发送的附件
        msg = MIMEMultipart()
        msg.attach(xlsxpart)
        msg.attach(MIMEText(msgs, 'plain', 'utf-8'))
        msg['Subject'] = Header(emailName, 'utf-8').encode()
        self.sendmail(host,port,user,password,sender,receiver, msg.as_string())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈希哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值