2010-08-15 13 views
0

J'ai un code python qui ressemble à ci-dessous. Cela fonctionne bien lorsqu'il est exécuté manuellement. Mais lorsqu'il est exécuté via un cronjob, l'e-mail n'est pas envoyé. Voici le code:Python 'smtplib fonctionne régulièrement mais pas lors de l'exécution via cron

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()) 

Répondre

0

Peut-être que votre environnement Unix est différent lorsqu'il est exécuté manuellement/de cron.Do un « env> fichier » dans Cron et comparer ENV lors de l'exécution interactive

0

Dans mon cas, c'était os.getenv à l'intérieur de mailbody qui ne fonctionnait pas.

Peut-être que l'erreur se produit car le script cron n'a pas de variables d'environnement shell par défaut.