Мой sendmail.sh
скрипт на Raspbian OS способен успешно отправить электронное письмо. Но когда он вызван из сценария python, я получаю сообщение об ошибке "mail: can not send message: process exited with non zero status"
. Я проверил, что ssmtp настроен правильно, выполнив команду sendmail.sh
вручную.Ошибка отправки электронной почты, вызвав скрипт bash
sendmail.sh
#!/bin/bash
echo "test" | mail -s "test msg" myemailaddress
разрешение на sendmail.sh является 777. sendmail.sh и sendmail.py находится в том же каталоге.
sendmail.py
import os
import subprocess
subprocess.call(['./sendmail.sh'])
Команда Я использую для запуска питона - sudo python sendmail.py
.
Я не понимаю, почему возникает ошибка. Очевидно, что python вызывает sendmail.sh
, а на скрипте установлены правильные разрешения. Если запустить sendmail.sh вручную, почта отправляется правильно.
Любые сообщения об ошибках? –
Btw, используйте 'check_call', а не' call', если вы не проверите статус выхода вручную (что, по-видимому, вы этого не сделаете). –
Независимо от вашей проблемы, ** chmod 777 является неправильным и опасным **. Пожалуйста, немедленно верните разрешения на что-то разумное (0755 будет казаться подходящим здесь). – tripleee