【发布时间】:2015-12-14 22:27:45
【问题描述】:
基本上,我试图在电子邮件正文中发送查询结果,但无法弄清楚。我测试了 SQL 查询的代码,它独立工作。我也可以发邮件没问题。很难把它们放在一起。然后我尝试将查询结果转换为字符串,但这不起作用。这是我的代码:
import smtplib
import pyodbc
import pandas as pd
cnxn = pyodbc.connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};"
r"DBQ=\\Location.accdb;")
query = """SELECT *;
"""
df = pd.read_sql(query, cnxn)
remail = "sendto@gmail.com"
smtpObj = smtplib.SMTP('smtp.gmail.com', 587)
smtpObj.ehlo()
smtpObj.starttls()
smtpObj.login('from@gmail.com','PASSWORD')
smtpObj.sendmail('from@gmail.com', remail, 'Subject: Latest Query \n' + string(df))
smtpObj.quit()'
有什么想法吗?
【问题讨论】:
-
任何错误信息?另外,
string是什么? Python 中没有这样的关键字。如果使用 2.x,也许你的意思是str或unicode。 -
str 不起作用。错误是 'smtpObj.sendmail('from@gmail.com', remail, Subject: \n'dfquery) ^ SyntaxError: invalid syntax
-
请更具体。