Подпроцесс Python 3 не выполняет все передаваемые по конвейеру командыPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Подпроцесс Python 3 не выполняет все передаваемые по конвейеру команды

Сообщение Anonymous »

Я хочу отправлять электронные письма из моего кода Python, вызывающего msmtp, используя подпроцесс. Некоторые электронные письма длинные (возможно, несколько КБ, но не безумно длинные). Следующий код отлично работает, возможно, с 10 строками электронного письма, но если больше, то электронное письмо будет отправлено «ОК» с правильной темой, но без основного текста вообще.

Код: Выделить всё

p = subprocess.Popen(('msmtp', '-t'), stdin=open("email_file.txt"), stdout=subprocess.PIPE)
Где email_file.txt содержит текст «Кому/От/Тема» и «Основной текст» в формате, ожидаемом msmtp. Я знаю, что формат файла в порядке, и msmtp доволен работой, потому что простая команда Linux:

Код: Выделить всё

cat email_file.txt | msmtp -t
отлично работает с длинным текстом электронного письма.
Я также пробовал построчно передавать текстовый файл электронного письма, используя:

Код: Выделить всё

p = subprocess.Popen(('msmtp', '-t'), stdin=subprocess.PIPE, stdout=subprocess.PIPE)
for line in email_file_handle.readlines():
p.stdin.write(line.encode('utf-8'))
p.stdin.close()
но это дает тот же результат

Подробнее здесь: https://stackoverflow.com/questions/792 ... ed-command
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Ошибка «Файл не найден» при запуске подпроцесса, содержащего передаваемые по конвейеру команды
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • В каком порядке выполняются команды bash по конвейеру? [дубликат]
    Anonymous » » в форуме Linux
    0 Ответы
    51 Просмотры
    Последнее сообщение Anonymous
  • Есть ли способ, чтобы скрипт Python «узнал», передается ли он по конвейеру?
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Запрос на помощь по конвейеру RAG
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Linux C-Shell — оператор If на AWK, передаваемый по конвейеру из WC
    Anonymous » » в форуме Linux
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»