python smtp给多人发送邮件

给多人发送邮件需要注意收件人传入的格式

def sendEmail():
    emailHost = "smtp.163.com"  # 获取smtp的host
    sender ="lihua@163.com"  # 获取发件人账号
    # 如果配置文件读取收件人列表,需要转换格式,配置文件收件人列表不需要加引号和括号,如下配置
    # recriver =lihua@163.com,lihua@163.com,lihua@163.com
    # 读取后转换格式为list
    recriver =  ["lihua@163.com,lihua@163.com,lihua@163.com"]   # 获取收件人账号,这个是列表类型
    recrivers = ",".join(recriver) 
    password = "授权码" # 获取发件人账号对应的授权码
    testReport = newReport()  # 获取需要发送的报告
    # 打开报告
    with open(testReport, "r", encoding="utf-8") as f:
        emailMessage = f.read()
    # 发送HTML格式邮件,内容为报告内容
    message = MIMEText(emailMessage, "html", "utf-8")
    message["From"] = Header(sender)  # 发件人
    message["To"] = Header(recrivers)  # 收件人
    subject = "接口自动化测试报告"  # 主题
    message["Subject"] = Header(subject, "utf-8")

    smtp = smtplib.SMTP_SSL(emailHost)  # 实例化smtp
    smtp.connect(host=emailHost, port=465)  # 连接邮箱
    smtp.login(sender, password)  # 登录邮箱
    
    smtp.sendmail(sender, recrivers.split",", message.as_string())  # 发送邮件
    smtp.quit()
    print("邮件发送成功")

if __name__ == '__main__':
    sendEmail()
上一篇:5、Shell egrep


下一篇:linux正则表达式之文本三剑客(上)