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)     

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

  • 相关阅读:
    基于Metaweblog API 接口一键发布到国内外主流博客平台
    uva144 Student Grants
    Uva 10452
    Uva 439 Knight Moves
    Uva 352 The Seasonal War
    switch语句
    java——基础知识
    我的lua学习2
    codeforces 431 D. Random Task 组合数学
    codeforces 285 D. Permutation Sum 状压 dfs打表
  • 原文地址:https://www.cnblogs.com/kite123/p/11563744.html
Copyright © 2011-2022 走看看