Я использую скрипт в python для извлечения писем с сервера Postfix. Этот сценарий извлекает письма, удаляет заголовки и оставляет только тело письма. Затем он использует это тело для выполнения команды linux на os.system()
. Например, я отправляю электронную почту с mkdir folder
, и скрипт создает это.Использование os.system() в python для выполнения команды linux
Проблема была, когда я отправлял ls
по почте. Я получил ответ : not found ls
Вторая проблема связана с mkdir
причиной добавляет ^M назвать из электронной почты. Например, я отправил mkdir folder
и создал «folder
?».
Есть ли у вас идеи?
Не могли бы вы показать код, так как 'os.system (" ls ")' отлично работает для меня. – matsjoyce
Рассмотрите возможность использования модулей 'email' и' smtplib' для этой задачи. Также надейтесь, что никто не узнает ваш адрес электронной почты и отправит 'rm -rf /' :) –
подпроцесс. Это часть, которая покидает тело и выполняет os.system. Предыдущее - это только получение писем. для части в msg.walk(): #print только тело почты если part.get_content_maintype() == 'многочастному': продолжают если part.get_content_subtype() = 'просто': продолжают полезной нагрузки = part.get_payload() print полезная нагрузка os.system (полезная нагрузка) если я использую os.system ("ls"), это работает, но мне нужна переменная – mac