问题描述
我想为我的网站设置自动备份,并为此创建一个有效的python脚本。为了进行调度,我首先尝试了launchd
,然后尝试了cron
,对于两者,我都得到了相同的结果,即备份有效,但电子邮件通知失败。
从Terminal
或Sublime Text 3
启动该脚本后,该脚本可以100%正常工作,并且我使用的是macOS Catalina版本10.15.7。
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/threading.py",line 926,in _bootstrap_inner
self.run()
File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/threading.py",line 870,in run
self._target(*self._args,**self._kwargs)
File "/usr/local/lib/python3.7/site-packages/fast_email/fast_email.py",line 95,in send
server.ehlo()
File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/smtplib.py",line 440,in ehlo
self.putcmd(self.ehlo_msg,name or self.local_hostname)
File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/smtplib.py",line 367,in putcmd
self.send(str)
File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/smtplib.py",line 359,in send
raise SMTPServerdisconnected('please run connect() first')
smtplib.SMTPServerdisconnected: please run connect() first
我的fast_email软件包中发生错误的部分(server.ehlo()
行):
def send(msg_data,d):
server = smtplib.SMTP_SSL(d['EMAIL_SERVER'],d['EMAIL_PORT'])
server.ehlo()
server.login(d['EMAIL_SENDER'],d['EMAIL_PASSWORD'])
message = MIMEMultipart("alternative")
message["From"] = d['EMAIL_SENDER']
如果可能的话,我在我的fast_email软件包中使用了线程(threading.Thread
),因为有时我想向我公司的人快速发送电子邮件。
这个问题非常令人沮丧,我仅花了整整一天的时间,更不用说启动的其他问题了……请,如果有任何提示,我将非常感谢。
P.S。我的cron工作专线是:
0 9 * * * (/usr/local/bin/python3 my/script/pathname.py > /Users/my_username/Desktop/cronjob.log 2>&1)
<key>AbandonProcessGroup</key>
<true/>
在我启动的.plist文件中。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)