123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- # coding=utf-8
- from email.mime.text import MIMEText
- from email.header import Header
- from smtplib import SMTP
- from email.mime.multipart import MIMEMultipart
- from email.mime.base import MIMEBase
- from email.encoders import encode_base64
- import traceback
- import os
- class EmailUtil(object):
- host_server = 'smtp.exmail.qq.com'
- sender_email = 'zhangbr@elab-plus.com'
- pwd = '306492mnA'
- send_name = 'elab'
- receiver = ['1285211525@qq.com', 'lijm@elab-plus.com', 'xuanxc@elab-plus.com']
- def __init__(self):
- self.smtp = SMTP(self.host_server)
- self.smtp.set_debuglevel(1)
- self.smtp.ehlo(self.host_server)
- self.smtp.login(self.sender_email, self.pwd)
- def send_mail(self,
- mail_title,
- content,
- receivers,
- mail_excel
- ):
- try:
- msg = MIMEMultipart('related')
- msg['From'] = self.send_name
- msg['Subject'] = Header(mail_title, 'utf-8')
- msgAlternative = MIMEMultipart('alternative')
- msg.attach(msgAlternative)
- if content:
- textApart = MIMEText(content)
- msg.attach(textApart)
- if mail_excel:
- part = MIMEBase('application', "vnd.ms-excel")
- with open(mail_excel, 'rb') as fp:
- part.set_payload(fp.read())
- encode_base64(part)
- part.add_header('Content-Disposition', f'attachment; filename="{os.path.split(mail_excel)[1]}"')
- msg.attach(part)
- for receiver in receivers:
- msg['To'] = receiver
- try:
- self.smtp.sendmail(self.sender_email, receiver, msg.as_string())
- except Exception as e:
- print(str(e))
- self.smtp.sendmail(self.sender_email, receiver, msg.as_string())
- print('Success!')
- except Exception as e:
- print('Error:{}'.format(str(e)))
- traceback.print_exc()
- def quit_mail(self):
- self.smtp.quit()
- if __name__ == '__main__':
- send_email = EmailUtil()
- send_email.send_mail('elab_test', mail_excel=r'D:\elab-code\elab_mvp\resources\tongce1.xlsx')
- pass
|