- # 需要提前开启网易或 QQ 邮箱的 SMTP 服务服务, 详情百度.(基本都是在邮箱 --- 设置 ---- 设置 POP3/SMTP/IMAP 中开启)
- # 以下为个人所做磁盘预警发送案例
- # 邮件
- def _format_addr(s):
- name, addr = parseaddr(s)
- return formataddr((Header(name, 'utf-8').encode(), addr))
- def send_email(email_info):
- # 内容信息
- msg = MIMEText('\n'.join(email_info), 'plain', 'utf-8')
- form_addr = '[email protected]' #发送信息邮箱
- to_addr = '[email protected]' #接受信息邮箱
- msg['From'] = _format_addr('磁盘程序 <%s>' % form_addr)
- msg['To'] = _format_addr('管理员 XXX<%s>' % to_addr)
- msg['Subject'] = Header('磁盘空间警告!!!', charset='utf-8').encode()
- mail_host = "smtp.163.com" # 设置服务器
- server = smtplib.SMTP_SSL(mail_host, 465) # 网易版 发件人邮箱中的 SMTP 服务器, 端口是 465
- server.connect(mail_host, 465)
- # server = smtplib.SMTP('smtp.qq.com',25) #qq 邮箱版 发件人邮箱中的 SMTP 服务器, 端口是 25
- server.login('[email protected]', 'XXXXX') # 发件人邮箱账号, 邮箱授权码
- msg.as_string() # 中 as_string() 是将 msg(MIMEText 或 MIMEMultipart 对象) 变为 str.
- server.sendmail('[email protected]', '[email protected]', msg.as_string()) #发送邮箱, 接收邮箱
- server.quit()
- if __name__ == '__main__':
- info_list = ['c: 剩余: 多少 G 空间','D: 剩余多少 G 空间']
- send_email(info_list)
来源: http://www.bubuko.com/infodetail-3384665.html