1、依赖类库导入
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from s_time import TimeUtils
import MySQLdb
2、定义全局参数
class myEmail:
def __init__(self):
self.hostname = "192.168.10.10"
self.username = "xxxx"
self.password = "xxxx"
self.dbName = "aaa-bbb"
self.sender = 'xxx@163.com'
self.receiver = ['xxx@ccc.com']
self.passw = 'xfasdfasdfsad'
self.timeutil = TimeUtils()
2、数据库连接获取数据
def selectdata(self):
time =self.timeutil.formatDay()
db = MySQLdb.connect(self.hostname, self.username, self.password, self.dbName, charset='utf8')
cursor = db.cursor()
cursor.execute(
"SELECT id,SCORE,RULE_ID,CREATE_TS from TABLE WHERE SCORE <0 AND CREATE_TS>='%s" %time+"' order by CREATE_TS DESC LIMIT 20")
data_result = cursor.fetchall();
mail_msg = """<table border="1" align="center" width="800"><tr align="center"><td>积分id</td><td>积分</td><td>积分选线Id</td><td>时间</td></tr> """
for row in data_result:
id = row[0]
score = row[1]
rule_id = row[2]
create_ts = row[3]
content = """<tr align="center"><td>%s""" % id + """</td><td>%s""" % score + """</td><td>%s""" % rule_id + """</td><td>%s""" % create_ts + """</td></tr>"""
mail_msg += content
print(content)
mail_msg += """</table>"""
db.close()
return mail_msg;
3、组装数据进行邮件推送
def send_mail(self):
mail_msg = self.selectdata()
message = MIMEText(mail_msg, 'html', 'utf-8')
message['Subject'] = Header("数据监测中心", 'utf-8')
message['To'] = Header('运营中心', 'utf-8')
smtpObj = smtplib.SMTP()
smtpObj.connect('smtp.163.com')
smtpObj.login(self.sender, self.passw);
smtpObj.sendmail(self.sender, self.receiver, message.as_string())
print('邮件发送成功')
4、进行邮件调试阶段
mail = myEmail();
mail.send_mail()