def send_mail(mail_server, send_from, send_to_list, subject, text, text_color="black", files=None):
assert isinstance(send_to_list, list)
msg = MIMEMultipart(‘related‘)
msg[‘From‘] = send_from
msg[‘To‘] = ‘,‘.join(send_to_list)
msg[‘Subject‘] = subject
warnings = []
attachments = []
if isinstance(files, list):
for file in files:
try:
with open(file, "rb") as f:
attachment = MIMEApplication(f.read())
# After the file is closed
attachment[‘Content-Disposition‘] = ‘attachment; filename={}‘.format(basename(file))
attachments.append(attachment)
except FileNotFoundError:
warnings.append(‘WARNING: Attachment {} was not found!‘.format(basename(file)))
body_template = ‘<pre><font color={}>{}</font></pre>‘
if warnings:
body_template = ‘<pre><font color={}>{}</font></pre>‘ + ‘<br><br>‘ + ‘<pre>{}</pre>‘
msg.attach(MIMEText(body_template.format(text_color, text, ‘\n‘.join(warnings)), ‘html‘, ‘utf-8‘))
if attachments:
for attachment in attachments:
msg.attach(attachment)
smtp = smtplib.SMTP(mail_server)
smtp.sendmail(send_from, send_to_list, msg.as_string())
smtp.close()
return True
原文:https://www.cnblogs.com/zhangzhihui/p/12809220.html