저는 Python에서 Postfix 서버의 메일을 가져 오는 스크립트를 사용합니다. 이 스크립트는 메일을 가져오고, 헤더를 제거하고 이메일 본문 만 남깁니다. 그런 다음이 본문을 사용하여 os.system()
의 linux 명령을 실행합니다. 예를 들어 mkdir folder
으로 이메일을 보내고 스크립트에서이를 만듭니다.python에서 os.system()을 사용하여 linux 명령 실행
메일로 ls
을 보낼 때 문제가 발생했습니다. 나는 이메일에서 이름을 ^M을 추가 원인 : not found ls
두 번째 문제는 mkdir
함께 응답을 가지고있다. 예를 들어 mkdir folder
을 보내면 "folder
?"이 생성되었습니다.
의견이 있으십니까?
'os.system ("ls")'이 완벽하게 작동하기 때문에 몇 가지 코드를 보여줄 수 있습니까? – matsjoyce
이 작업을 위해'email'과'smtplib '모듈을 사용해보십시오. 또한 아무도 당신의 이메일 주소를 알아 내고'rm -rf /'를 보냈 으면 좋겠다. –
서브 프로세스는 같은 반응을 보였다. 본문을 떠나 os.system을 실행하는 부분입니다. 이전은 이메일을 가져 오는 것입니다. ! 이 페이로드를 계속 : part.get_content_subtype은() = '일반'이 경우 을 계속 : msg.walk의 부분 는() : part.get_content_maintype() == '다중이'경우 메일 의 몸을 #print = part.get_payload() 페이로드 인쇄 os.system (페이로드) os.system ("ls")을 사용하면 작동하지만 변수가 필요합니다. – mac