python 3.5 群发多联系人多附件邮件

import time,datetime
import smtplib
import traceback
from email.mime.text import MIMEText
from email.mime.application import  MIMEApplication
from email.mime.multipart import MIMEMultipart


def sendmail(subject, msg, to_addrs, from_addr, smtp_addr, password):

    mail_msg = MIMEMultipart()
    mail_msg['Subject'] = subject
    mail_msg['From'] =from_addr
    mail_msg['To'] =  ','.join(to_addrs)
    mail_msg.attach(MIMEText(msg, 'html', 'utf-8'))
    part1 = MIMEApplication(open('C:\\Users\\Administrator\\Desktop\\te.pdf', 'rb').read())
    part1.add_header('Content-Disposition', 'attachment', filename=('te.pdf'))
    mail_msg.attach(part1)
    part2 = MIMEApplication(open('C:\\Users\\Administrator\\Desktop\\mail.txt', 'rb').read())
    part2.add_header('Content-Disposition', 'attachment', filename=('mail.txt'))
    mail_msg.attach(part2)

    try:
        s = smtplib.SMTP()
        s.connect(smtp_addr)
        s.login(from_addr, password)
        s.sendmail(from_addr, to_addrs, mail_msg.as_string())
        s.quit()
    except Exception:
        print('error')
        print(traceback.format_exc())

if __name__ == '__main__':
    from_addr = '[email protected]'
    smtp_addr = 'smtp.163.com'
    #to_addrs = ['[email protected]','[email protected]']
    maillist=open('C:\\Users\\Administrator\\Desktop\\mail.txt','r')#附件写成text文档便于群发
    to_addrs=maillist.readlines()
    maillist.close()
    subject = (datetime.date.today()+datetime.timedelta(days=-1)).strftime("%Y-%m-%d")+'report'#获取昨天日期
    password = 'xxx'
    msg = '===\nPlease do not reply this mail directly,\n it is a system generated mail\n===\n '
    sendmail(subject, msg, to_addrs, from_addr, smtp_addr, password)

猜你喜欢

转载自blog.csdn.net/lbship/article/details/81504545
今日推荐