β

Python发邮件示例

kenyon的个人页面 159 阅读
最近在同事的帮助下,尝试着用python写了一个发送邮件的小工具,可以省去配置mailrc参数的麻烦。 以下是示例:
[root@his-web152 scripts]# more sendmail.py 
#!/usr/bin/env python2
#coding: utf-8 
import smtplib
import datetime

from email.mime.text import MIMEText
from email.header import Header

from email.mime.multipart import MIMEMultipart    
from email.mime.text import MIMEText    
from email.mime.image import MIMEImage

sender = 'monitor@163.com'
receiver = ['ywb@163.com','xxx@163.com']
subject = 'Pro_Weekly_DBmonitor'
smtpserver = 'mail.163.com'
username = 'monitor'
password = 'secrets'

#f = open("/dba/dbaBackup/backup.log", "r")
#content = f.read()
#f.close()

content = 'More see the attached file'

msg = MIMEMultipart('related')
msg['Subject'] = 'PostgreSQL_MONITOR'

--获取时间
today=datetime.datetime.now().strftime('%Y-%m-%d')

--要发送的附件
file_name='/home/postgres/report/DB_'+str(today)+'.report.txt'

att = MIMEText(open(file_name,'rb').read(), 'base64', 'utf-8')
att["Content-Type"] = 'application/octet-stream'
att["Content-Disposition"] = 'attachment; filename="DB_report.txt"' 
msg.attach(att)

--发送所需要调用的smtp
smtp = smtplib.SMTP()
smtp.connect('mail.163.com')
smtp.login(username, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()
经实践,可用。
作者:kenyon的个人页面
kenyon_君羊的博客
原文地址:Python发邮件示例, 感谢原作者分享。