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 = 'xxx@163.com'
smtp_addr = 'smtp.163.com'
#to_addrs = ['8xx@qq.com','kxx@xx.cn']
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)