直接上代码:
#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="""
"Documentip | port | userStatus | proobject | time |
"""+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()
------------------------------结束--------------------------
以下是发送出来的邮件