zoukankan      html  css  js  c++  java
  • unittest 自动发送邮件功能

    模拟发送邮件前,需要先开启SMTP服务

    操作步骤为:打开邮箱,设置--账户--开启服务

    (1)配置文件中配置如下信息

    [email]
    sender = 发送者邮箱
    sender_pwd = 授权码
    receiver = 收件人邮箱
    subject = 测试报告主题

    (2)python自带的发送邮件功能

    import smtplib
    from email.mime.multipart import MIMEMultipart # 附件
    from email.mime.text import MIMEText # 邮件文本
    from email.mime.application import MIMEApplication # 添加发送附件
    from com.myconf import conf
    
    def send_email(file_path,file_name):
    
        # 第一步连接到smtp服务器
        smtp=smtplib.SMTP_SSL("smtp.qq.com",465)
        smtp.login(conf.get('email','sender'),conf.get('email','sender_pwd'))
    
        # 第二步构建邮件
        smg=MIMEMultipart()
    
        text_smg = MIMEText(open(file_path, 'r', encoding='utf8').read(), "html") # 邮件类型:html格式,plain是文本
        smg.attach(text_smg)
    
        file_msg = MIMEApplication(open(file_path, "rb").read())
        file_msg.add_header('content-disposition', 'attachment', filename=file_name)
        smg.attach(file_msg)
    
        smg["Subject"] = conf.get('email','subject')
        smg["From"] = conf.get('email','sender')
        smg["To"] = conf.get('email','receiver')
    
    
        # 第三步发送邮件
        smtp.send_message(smg,from_addr=conf.get('email','sender'),to_addrs=conf.get('email','receiver'))
    
    
    if __name__ == '__main__':
        pass

    (3)yagmail发送邮件

      python的第三方库,需要先安装库

    • 在线安装yagmail(如已安装,无需再安装)

    python -m pip install yagmail

      安装成功:

    •  yagmail发送邮件

    import os
    import yagmail
    from com.myconf import conf
    
    def send_mail(file_path,file_name):
            yag = yagmail.SMTP(user=conf.get('email','sender'), password=conf.get('email','sender_pwd'), host='smtp.qq.com')
            subject = conf.get('email','subject')
      
            # 发送邮件
            report = os.path.join(file_path,file_name)
            yag.send(conf.get('email','sender'),conf.get('email','receiver'), report)     

    注意:给多接收者,发送多附件,用[]格式表示即可

  • 相关阅读:
    hdu 1255 矩形覆盖面积(面积交)
    hdu 3642 覆盖3次以上体积
    hdu 3255 体积并
    hdu 3265 矩形剪块面积并
    HDU 3397 区间覆盖,颠倒,合并(好题)
    ACM-线段树扫描线总结
    POJ 3667 线段树区间合并
    数组排序----Demo
    Spring MVC配置详解(3)
    生产者消费者模式--
  • 原文地址:https://www.cnblogs.com/kite123/p/11563744.html
Copyright © 2011-2022 走看看