Я надеюсь, что кто-то может помочь мне здесь. Я искал везде и спрашивал друга, но ничего не могу найти. У меня есть скрипт python, который читает пару файлов, исправляет некоторые номера штрихкодов, а затем электронные письма, используя smtplib, 2 файла в виде вложений. Сценарий отлично работает из командной строки, оба вложения отправляются по электронной почте. Но, из Cron отправляется электронное письмо, но вложений нет. Кто-нибудь знает, есть ли какая-либо конфигурация, которая должна быть изменена, или если в сценарии python должно быть что-то еще, чтобы позволить Cron отправлять вложения?
Вот моя строка в crontab, ничего необычного [ ! d1] 15 01 * * * /home/user/folder/./script.py
Я использую cron для отправки других писем из скриптов python и не имел никаких проблем. Единственное отличие в том, что ни у кого из других нет вложений.
Если кто-то слышал об этом и может помочь, это было бы здорово! Если вам нужна часть или весь код python, сообщите мне.
Спасибо
Если у кого-то есть эта проблема, вот как я ее решил, возможно, есть много других способов, и если у кого-то есть лучший, пожалуйста, дайте мне знать.
Cron не запускал скрипт в правильной среде, чтобы он мог запускать скрипт, но он искал неправильный каталог для вложений. Он не мог их найти. То, что я сделал, это написать сценарий оболочки следующим образом:
#!/bin/bash
cd /path/to/directory
python file.py
Это позволяет среде изменять каталог, в котором я хочу работать. Теперь эти вложения найдены, так как сценарий и вложения находятся в тот же каталог.
Я изменил задание Cron для запуска сценария оболочки:
30 01 * * * /path/to/script/./script.sh
Я не уверен, что это просто работа или фактическое решение, но это работает, и это полезно для меня!
Если у кого-то есть эта проблема, вот как я ее решил, возможно, есть много других способов, и если у кого-то есть лучший, пожалуйста, дайте мне знать.
Cron не запускал скрипт в правильной среде, чтобы он мог запускать скрипт, но он искал неправильный каталог для вложений. Он не мог их найти. То, что я сделал, это написать сценарий оболочки следующим образом:
#!/bin/bash
cd /path/to/directory
python file.py
Это позволяет среде изменять каталог, в котором я хочу работать. Теперь эти вложения найдены, так как сценарий и вложения находятся в тот же каталог.
Я изменил задание Cron для запуска сценария оболочки:
30 01 * * * /path/to/script/./script.sh
Я не уверен, что это просто работа или фактическое решение, но это работает, и это полезно для меня!