【发布时间】:2021-03-20 07:52:59
【问题描述】:
我正在尝试制作一个在一段时间内(例如每小时)重复发送相同消息的 gmail 机器人。这是我所做的:
import smtplib
import time
import schedule
sender_email = input("enter ur e-mail: ")
rec_email = input("enter receiver e-mail: ")
password = input("enter your password: ")
message = input("enter message\n-")
def thankyou(sender_email, rec_email, password, message):
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(sender_email, password)
print("login successful")
server.sendmail(sender_email, rec_email, message)
print("sent")
schedule.every().hour.do(thankyou(sender_email, rec_email, password, message))
while 1:
schedule.run_pending()
time.sleep(1)
【问题讨论】:
-
哪一行导致错误?
-
请包含错误消息的完整回溯,以便我们准确识别错误。
-
这就是我得到的错误消息: Traceback(最近一次调用最后一次):文件“C:\Users\user\Projects\email_sender2.0\sender2.py”,第 20 行,在 schedule.every().hour.do(thankyou(sender_email, rec_email, password, message)) 文件“C:\Users\user\venv\lib\site-packages\schedule_init_. py", line 440, in do self.job_func = functools.partial(job_func, *args, **kwargs) TypeError: the first argument must be callable