我对subprocess.Popen
如何运作感到困惑。如果有人有使用子进程模块和sendmail发送电子邮件的示例代码,那就太棒了。
答案 0 :(得分:2)
这并没有直接回答这个问题,但鉴于您对“DNS”评论的回复,它可能会解决您的问题。
发送SMTP邮件时,您需要了解传递给smtplib.sendmail()例程的“from”和“to”地址作为参数不与您的相同收到消息时,请在消息中的From:和To:标题中查看。这些参数成为接收SMTP邮件程序的参数,带有“MAIL FROM”和“RCPT TO”命令。这通常被称为邮件的“信封”,值通常显示在Received:标题行中。
要指定所需的标题,您必须在邮件正文之前自行提供。 smtplib example显示了如何完成,在这种情况下,它们将一个名为“msg”的元组添加到消息正文中。
答案 1 :(得分:0)
我遇到subprocess
的第一个陷阱是默认情况下它没有采用完整的shell字符串命令。
如果你想做一个类似于shell命令的命令:
os.system("echo hello world")
您需要使用shell=True
选项:
subprocess.Popen("echo hello world", shell=True)