【发布时间】:2014-10-24 20:31:21
【问题描述】:
我在 python 中使用脚本从 Postfix 服务器获取邮件。此脚本获取邮件,删除标题并仅保留电子邮件正文。然后它使用这个body 来执行os.system() 的linux 命令。例如,我用mkdir folder 发送电子邮件,脚本创建了这个。
问题是当我通过邮件发送ls 时。我有回复: not found ls
第二个问题是mkdir,因为它会将^M 添加到电子邮件中的名称中。例如,我发送了mkdir folder,它创建了“folder?”。
你有什么想法吗?
【问题讨论】:
-
你能显示一些代码吗,
os.system("ls")非常适合我。 -
考虑使用
email和smtplib模块来完成此任务。也希望没有人知道你的电子邮件地址并发送rm -rf /:) -
子进程的响应相同。这是离开 body 并执行 os.system 的部分。以前的只是获取电子邮件。 for part in msg.walk(): #print only body of mail if part.get_content_maintype() == 'multipart': continue if part.get_content_subtype() != 'plain': continue payload = part.get_payload() print payload os.system(payload) 如果我使用 os.system("ls") 它可以工作,但我需要变量
标签: python linux imap ls os.system