从mysql中获取数据发送html邮件_python将MYSQL中的数据以HTML形式邮件发送

直接上代码:

#coding:utf8

import smtplib

import MySQLdb

from email.header import Header

from email.mime.multipart import MIMEMultipart

from email.mime.text import MIMEText

import sys

reload(sys)

sys.setdefaultencoding('utf8')

def sendMail():

# 定义相关数据,请更换自己的真实数据

smtpserver = 'smtp.163.com'

smptport = '587'

sender = 'test@163.com'

receiver = 'shoujia@163.com'

username = 'test@163.com'

password = '123456'

msg = MIMEMultipart()

conn= MySQLdb.connect(

host='10.21.129.46',

port = 3306,

user='root',

passwd='123456',

db="mysqlcenter",

charset="utf8"

)

cur = conn.cursor()

sqlstring=cur.execute("select ip,port,'success',proobject,current_date from ip_monitor where ip in (select ip from ip_userlist where addtime> DATE_FORMAT(NOW(),'%Y-%m-%d'))union all select ip,port,'failed',proobject,current_date from ip_monitor where ip not in (select ip from ip_userlist where addtime> DATE_FORMAT(NOW(),'%Y-%m-%d'));;")

#print aa

info = cur.fetchmany(sqlstring)

#cur.executemany("insert into student1 values(%s,%s,%s,%s)",info)

#print info

tblist=""

#tblist.encode("utf-8")

for ii in info:

tblist=tblist+"

"+ii[0]+""+ii[1]+""+ii[2]+""+str(ii[3])+""+str(ii[4])+""

#print ii[3]

#print tblist

#print tblist

cur.close()

conn.commit()

conn.close()

tblist=tblist.encode("utf-8")

#print tblist

boby="""

"Document
ipportuserStatusproobjecttime

"""+tblist+"""

"""

mail_body = MIMEText(boby, _subtype='html', _charset='utf-8')

#mail_body = MIMEText(boby, _subtype='html','utf-8')

msg['Subject'] = Header("mysql 每日收集用户名及密码邮件", 'utf-8')

msg['From'] = sender

receivers = receiver

toclause = receivers.split(',')

msg['To'] = ",".join(toclause)

print(msg['To'])

msg.attach(mail_body)

# 登陆并发送邮件

try:

smtp = smtplib.SMTP(smtpserver,587)

smtp.starttls()

##打开调试模式

#smtp.set_debuglevel(1)

#print(smtp.connect(smtpserver,587))

print('connected')

smtp.login(username, password)

smtp.sendmail(sender, toclause, msg.as_string())

print("邮件发送成功")

except Exception as ex:

print(ex)

print("邮件发送失败!!")

sendMail()

------------------------------结束--------------------------

以下是发送出来的邮件

fe76a14662e33c273745917979da5c3b.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值