python调用smtp发送邮件(多个收件人)

from email import encoders 
from email.mime.text import MIMEText 
from email.utils import formatdate 
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.header import Header
import smtplib


def send_email(file_name):
    '''发送测试报告'''
    try:
        From = "send@xxx.com" 
        To = "recieved@xx.com,recieved2@xx.com" 
        
        source = '..//Report//' + file_name
        
        server = smtplib.SMTP("smtp.xxx.com") 
        server.login("send@xxx.com","password") #仅smtp服务器需要验证时 
        
        # 构造MIMEMultipart对象做为根容器 
        main_msg = MIMEMultipart() 
        
        # 构造MIMEText对象做为邮件显示内容并附加到根容器 
        text_msg = MIMEText("xx自动化测试报告!") 
        main_msg.attach(text_msg) 
        
        # 构造MIMEBase对象做为文件附件内容并附加到根容器 
        contype = 'application/octet-stream' 
        maintype, subtype = contype.split('/', 1) 
        
        # 读入文件内容并格式化 
        data = open(source, 'rb') 
        file_msg = MIMEBase(maintype, subtype) 
        file_msg.set_payload(data.read( )) 
        data.close( ) 
        encoders.encode_base64(file_msg) 
        
        # 设置附件头 
        basename = os.path.basename(source)
        #解决中文附件名乱码问题 
        file_msg.add_header('Content-Disposition', 'attachment', filename=('gbk', '', basename)) 
        main_msg.attach(file_msg) 
        
        # 设置根容器属性 
        main_msg['From'] = From 
        main_msg['To'] = To 
        main_msg['Subject'] = Header("XX自动化测试报告","utf-8")
        main_msg['Date'] = formatdate( ) 
        
        # 得到格式化后的完整文本 
        fullText = main_msg.as_string( ) 
        
        # 用smtp发送邮件 
        try: 
            server.sendmail(From, To.split(','), fullText) 
        finally: 
            server.quit()
    except Exception:
        logger.exception('发送邮件出错!')

 

转载于:https://www.cnblogs.com/carlvine/articles/9717128.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值