gpt4 book ai didi

python - 每次在 python 中使用 subprocess.call 发送 linux 电子邮件时都会得到一个空体

转载 作者:太空宇宙 更新时间:2023-11-04 10:05:00 25 4
gpt4 key购买 nike

我正在编写一个 python 脚本,它会在引发异常时发送电子邮件。我收到了电子邮件,但是每次正文都是空的 - 我收到了 Null 邮件正文; hope that's ok 调用子进程时的消息。

这是我的代码:

subject = "This is the subject"
f = open('body.txt', "w+")
body = "Email body goes here."
f.write(body)
subprocess.call(['mail', '-s', subject, 'addr@example.com'],stdin=f)
f.close()

为什么我每次都得到一个空的 body ?我不认为我理解 subprocess 中的标准输入是如何工作的。

最佳答案

在调用 subprocess.call() 之前,您需要关闭 f 。否则,f 不会在 mail 读取它时被刷新,并且无法保证任何内容实际上已经写入文件。

关于python - 每次在 python 中使用 subprocess.call 发送 linux 电子邮件时都会得到一个空体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53197086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com