python在邮件正文中发送mysql查询

2ic8powd  于 2021-06-23  发布在  Mysql
关注(0)|答案(0)|浏览(265)

你好吗!我需要帮助。我有一个脚本,连接到mysql并打印一个查询。

from __future__ import print_function

import MySQLdb as my

db = my.connect(host="127.0.0.1",
    user="root",
    passwd="",
    db="gs"
    )

cursor = db.cursor()

sql = "
SELECT c.titulo as Control
     , IF(c.responsable=1, 'TISO','FISO')  AS Responsable
     , case r.mes  when 1 then 'Enero'  when 2 then 'Febrero'  when 3 then 'Marzo' when 4 then 'Abril' when 5 then 'Mayo' when 6 then 'Junio' when 7 then 'Julio' when 8 then 'Agosto' when 9 then 'Septiembre' when 10 then 'Octubre' when 11 then 'Noviembre' when 12 then 'Diciembre'  end AS Mes 
  FROM controles AS c 
  JOIN referencias as r 
    ON c.id_control = r.id_control 
 WHERE r.mes <= MONTH(CURRENT_DATE()) 
   AND r.ano = YEAR(CURRENT_DATE()) 
 ORDER 
    BY c.responsable
     , c.titulo
     , r.mes ASC
"

number_of_rows = cursor.execute(sql)

result = cursor.fetchall()

fiso = 0
tiso = 0

for row in result:
    if (row[1]=='TISO' and tiso == 1):
        print(row[1], row[0],' | ',row[2])
    if (row[1]=='TISO' and tiso == 0):
        print ("--------------------------------------------------")
        print ("                 Controles TISO                   ")
        print ("--------------------------------------------------")
        tiso = 1
        print(row[1], row[0],' | ',row[2])
    if (row[1]=='FISO' and fiso == 1):
        print(row[1], row[0],' | ',row[2])
    if (row[1]=='FISO' and fiso == 0):
        print ("--------------------------------------------------")
        print ("                 Controles FISO                   ")
        print ("--------------------------------------------------")
        fiso = 1
        print(row[1], row[0],' | 'row[2])

db.close()

这是结果

如何将此结果添加到电子邮件正文中?
我将与此脚本合并

smtplib module send mail

import smtplib

TO = 'XXXXXX@gmail.com'
SUBJECT = 'XXXXXX'
TEXT = 'MESSAGE.'

# Sign In

gmail_sender = 'XXXX@gmail.com'
gmail_passwd = 'XXXXX'

server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login(gmail_sender, gmail_passwd)

BODY = '\r\n'.join(['To: %s' % TO,
                    'From: %s' % gmail_sender,
                    'Subject: %s' % SUBJECT,
                    '', TEXT])

try:
    server.sendmail(gmail_sender, [TO], BODY)
    print ('email sent')
except:
    print ('error sending mail')

server.quit()

你能帮助我吗?我正在训练向文本变量添加每一行,但我不知道如何管理元组。
谢谢你们!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题