运行包含通过任务调度程序发送电子邮件触发器的python导出不起作用



我很难让任务调度程序通过python发送电子邮件。我使用的特定python代码每月创建一个导出,从SQL数据库中获取数据,然后发送一封电子邮件通知导出所在的团队。对于电子邮件,我使用smtplib。

这就是问题所在。我可以从pycharm运行导出,导出和发送电子邮件都很好。我可以从任务调度程序运行导出,并运行JUST导出。换句话说,只有当我从任务调度程序运行代码的.bat文件时,电子邮件才不会发送。有人知道解决方案吗?

答案实际上取决于您如何打包代码以及选择如何执行代码

对我来说,你似乎是在把它作为任务调度程序指向的脚本来执行,如果这个脚本调用你的系统解释器,我的第一个建议是确保你已经为脚本调用的python版本安装了所有依赖项。因此,如果您正在调用python 3.9.1,请确保smtplib已安装在系统的python 3.9.1上。

至于为什么它在pycharm中工作,pycharm的代码是在一个独立的环境中运行的,所以你为项目安装的包只能在特定的项目上工作。不在它之外或在其他系统上。

最新更新