#!/usr/bin/env python #-*- coding:utf-8 -*- from email import encoders from email.header import Header from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email.utils import parseaddr, formataddr import smtplib def _format_addr(s): name, addr = parseaddr(s) return formataddr((Header(name, ‘utf-8‘).encode(), addr)) #from_addr = input(‘From: ‘) #password = input(‘Password: ‘) #to_addr = input(‘To: ‘) #smtp_server = input(‘SMTP server: ‘) from_addr=‘jusda-it-infra@mail.jusdascm.com‘ password=‘JusdaG1702543‘ to_addr=‘1766070823@qq.com‘ smtp_server=‘smtp.mxhichina.com‘ # 邮件对象: msg = MIMEMultipart() msg[‘From‘] = _format_addr(‘告警服务器<%s>‘ % from_addr) msg[‘To‘] = _format_addr(‘Evmi 服务器运维人员<%s>‘ % to_addr) msg[‘Subject‘] = Header(‘Evmi JOBs 告警表格汇总‘, ‘utf-8‘).encode() # 邮件正文是MIMEText: msg.attach(MIMEText(‘EVMI服务器10.134.167.126计划任务异常告警发送‘, ‘plain‘, ‘utf-8‘)) # 添加附件就是加上一个MIMEBase,从本地读取一个图片: with open(‘‘‘F:\\data.xls‘‘‘, ‘rb‘) as f: # 设置附件的MIME和文件名,这里是png类型: mime = MIMEBase(‘image‘, ‘png‘, filename=‘11.xlsx‘) # 加上必要的头信息: mime.add_header(‘Content-Disposition‘, ‘attachment‘, filename=‘a11.xlsx‘) mime.add_header(‘Content-ID‘, ‘<0>‘) mime.add_header(‘X-Attachment-Id‘, ‘0‘) # 把附件的内容读进来: mime.set_payload(f.read()) # 用Base64编码: encoders.encode_base64(mime) # 添加到MIMEMultipart: msg.attach(mime) server = smtplib.SMTP(smtp_server, 25) server.set_debuglevel(1) server.login(from_addr, password) server.sendmail(from_addr, [to_addr], msg.as_string()) server.quit()
#!/usr/bin/env python #-*- coding:utf-8 -*- from email import encoders from email.header import Header from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email.utils import parseaddr, formataddr import smtplib def _format_addr(s): name, addr = parseaddr(s) return formataddr((Header(name, ‘utf-8‘).encode(), addr)) #from_addr = input(‘From: ‘) #password = input(‘Password: ‘) #to_addr = input(‘To: ‘) #smtp_server = input(‘SMTP server: ‘) from_addr=‘jusda-it-infra@mail.jusdascm.com‘ password=‘JusdaG1702543‘ to_addr=‘1766070823@qq.com‘ smtp_server=‘smtp.mxhichina.com‘ # 邮件对象: msg = MIMEMultipart() msg[‘From‘] = _format_addr(‘告警服务器<%s>‘ % from_addr) msg[‘To‘] = _format_addr(‘Evmi 服务器运维人员<%s>‘ % to_addr) msg[‘Subject‘] = Header(‘Evmi JOBs 告警表格汇总‘, ‘utf-8‘).encode() # 邮件正文是MIMEText: msg.attach(MIMEText(‘EVMI服务器10.134.167.126计划任务异常告警发送‘, ‘plain‘, ‘utf-8‘)) # 添加附件就是加上一个MIMEBase,从本地读取一个图片: with open(‘‘‘F:\\data.xls‘‘‘, ‘rb‘) as f: # 设置附件的MIME和文件名,这里是png类型: mime = MIMEBase(‘image‘, ‘png‘, filename=‘11.xlsx‘) # 加上必要的头信息: mime.add_header(‘Content-Disposition‘, ‘attachment‘, filename=‘a11.xlsx‘) mime.add_header(‘Content-ID‘, ‘<0>‘) mime.add_header(‘X-Attachment-Id‘, ‘0‘) # 把附件的内容读进来: mime.set_payload(f.read()) # 用Base64编码: encoders.encode_base64(mime) # 添加到MIMEMultipart: msg.attach(mime) server = smtplib.SMTP(smtp_server, 25) server.set_debuglevel(1) server.login(from_addr, password) server.sendmail(from_addr, [to_addr], msg.as_string()) server.quit()
原文:https://www.cnblogs.com/NGU-PX/p/11322620.html