Получение пустого тела каждый раз при отправке электронной почты linux с subprocess.call в python - PullRequest
0 голосов
/ 07 ноября 2018

Я пишу скрипт на python, который будет отправлять электронное письмо при возникновении исключенияЯ получаю электронное письмо, однако тело каждый раз пусто - я получаю сообщение Null message body; hope that's ok при вызове подпроцесса.

Вот мой код:

subject = "This is the subject"
f = open('body.txt', "w+")
body = "Email body goes here."
f.write(body)
subprocess.call(['mail', '-s', subject, 'addr@example.com'],stdin=f)
f.close()

Почему я каждый раз получаю пустое тело?Я не думаю, что понимаю, как работает stdin в subprocess.

1 Ответ

0 голосов
/ 07 ноября 2018

Вам необходимо закрыть f до того, как позвонит subprocess.call(). В противном случае f не будет сброшено к моменту, когда mail прочитает его, и не будет никакой гарантии, что что-то действительно было записано в файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...