Python отправляет MySQL Query в теле письма - PullRequest
0 голосов
/ 29 мая 2018

Как дела!Мне нужна помощь.У меня есть скрипт, который подключается к 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()

Вот результат

enter image description here

Какмогу ли я добавить этот результат в тело письма?

Я объединю этот сценарий

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()

Можете ли вы мне помочь?Я тренируюсь добавлять каждую строку в переменную TEXT, но я не знаю, как можно управлять кортежем.

Спасибо, ребята!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...