Cron Jobs и вложения электронной почты

Я надеюсь, что кто-нибудь может помочь мне здесь. Я искал везде и спросил друга, но ничего не могу найти. У меня есть скрипт на python, который читает пару файлов, исправляет некоторые номера штрих-кодов, а затем отправляет электронные письма, используя smtplib, 2 файла в виде вложений. Сценарий работает хорошо из командной строки, оба вложения отправляются с электронной почтой. Но из Cron электронное письмо отправлено, а вложения нет. Кто-нибудь знает, есть ли конфигурация, которую нужно изменить, или в скрипте python должно быть что-то еще, чтобы Cron мог отправлять вложения?

Вот моя строка в crontab, ничего особенного

15 01 * * * /home/user/folder/./script.py

Я использую cron для отправки других писем из скриптов python, и у меня не было никаких проблем. Разница лишь в том, что ни у кого другого нет привязанностей.

Если бы кто-то слышал об этом и мог помочь, это было бы здорово! Если вам нужна часть или весь код Python, пожалуйста, дайте мне знать.

Благодаря

0
задан 17 January 2018 в 03:22

1 ответ

Если у кого-то еще есть эта проблема, вот как я ее решил, возможно, есть много других способов, и если у кого-то есть более лучшая, пожалуйста, дайте мне знать.

Cron не запускал скрипт в правильной среде, поэтому он мог запустить скрипт, но он искал в неправильном каталоге вложения. Он не мог их найти. Я написал сценарий оболочки следующим образом:

#!/bin/bash
cd /path/to/directory
python file.py

. Это позволяет среде измениться на каталог, в котором я хочу работать. Теперь, когда вложения найдены, так как скрипт и вложения находятся в тот же каталог.

Я изменил задание Cron для запуска сценария оболочки:

30 01 * * * /path/to/script/./script.sh

Я не уверен, что это просто обходное решение или реальное решение, но оно работает и это хорошо для меня!

0
ответ дан 17 January 2018 в 03:22

Другие вопросы по тегам:

Похожие вопросы: