Prezados, boa tarde!! Estou fazendo um script para um envio de e-mail automático baseado numa query do MYSQL. Porém, individualmente, cada classe e método funciona, mas quando tento integrar os mesmos, está dando erro, só não sei "onde" e como consertar.. Alguém pode me ajudar a descobrir onde está o erro? Tendo em mente que o método "conectar" é onde fiz a conexão no banco de dados, na classe CONEXAO, e então, criaria um cursor a partir dela. A mesma funciona apenas para conectar, mas não funciona quando tento juntar com a query e o envio de e-mail.
import smtplib
import email.message
import schedule
import time
import pyodbc
import Conexao
class EnvioEmail():
def __init__(self,rows):
self._rows= rows
super().__init__(rows)
def enviarEmail():
server = smtplib.SMTP('smtp.office365.com:587')
msg = email.message.Message()
msg['From'] = 'email'
msg['To'] = 'email'
password = "senha"
msg['Subject'] = 'Titulo do email'
email_content = """
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Nova Oportunidade</title>
</head>
<body>
<p> Menssagem </p>
</body>
</html>
"""
msg.add_header('Content-Type', 'text/html')
msg.set_payload(email_content)
s = smtplib.SMTP('smtp.office365.com: 587')
s.starttls()
s.login(msg['From'], password)
s.sendmail(msg['From'], [msg['To']], msg.as_string())
def Consulta(Conexao):
cursor = Conexao.conectar()
cursor.execute(
'''Select t1.CardCode,
T2.CardCode,
T3.U_upd_2_status as status,
CAST (GETDATE() AS varchar) as DATAATUAL,
T3.U_upd_17_data,
T3.U_upd_4_modelo as modelo
FROM ORDR T1
INNER JOIN OOPR T2 ON T2.CardCode = t1.CardCode
INNER JOIN OPR2 T3 ON T2.OpprId = T3.opportID
WHERE
T3.U_upd_2_status = 'WON'
AND
T3.U_upd_4_modelo LIKE '%IMS%'
''')
rows = cursor.fetchall()
if rows:
for row in rows:
enviarEmail()
Consulta(Conexao)
egue o código: