0

我有如下所示的 python 代码。手动执行时效果很好。但是当通过 cronjob 执行时,电子邮件不会被发送。这是代码:

msg = MIMEMultipart()

msg['From'] = sender
msg['To'] = to
msg['Subject'] = subject
msg.attach(MIMEText(message))

mailServer = smtplib.SMTP("smtp.gmail.com", 587)
mailServer.ehlo()
mailServer.starttls()
mailServer.ehlo()
mailServer.login(login, password)
print mailServer.sendmail(login, to, msg.as_string())
4

2 回答 2

0

当手动/从 cron 执行时,您在 Unix 中的环境可能有所不同。在 cron 中执行“env >file”并在交互式运行时与 env 进行比较

于 2010-08-15T17:45:53.217 回答
0

就我而言,它os.getenv在邮件正文内部不起作用。

可能发生错误是因为 cron 脚本默认情况下没有任何 shell 环境变量。

于 2012-03-02T15:45:50.240 回答