繁体   English   中英

通过调用bash脚本发送电子邮件时出错

[英]Error sending email by calling a bash script

我在Raspbian OS上的sendmail.sh脚本能够成功发送电子邮件。 但是,当从python脚本调用它时,我收到"mail: can not send message: process exited with non zero status"错误消息。 我已经通过手动运行sendmail.sh验证了ssmtp的配置正确。

sendmail.sh

#!/bin/bash
echo "test" | mail -s "test msg" myemailaddress

sendmail.sh的权限为777。sendmail.sh和sendmail.py位于同一目录中。

sendmail.py

import os
import subprocess
subprocess.call(['./sendmail.sh'])

我用来运行python- sudo python sendmail.py

我不明白为什么会发生错误。 显然,python正在调用sendmail.sh ,并且脚本对此设置了正确的权限。 如果手动运行sendmail.sh,将正确发送邮件。

根本原因是ssmtpmail给出的错误消息,这是最没有帮助的。

快速浏览一下它会发现http://www.raspberrypi.org/forums/viewtopic.php?t=46218&p=386393 ,其中显示以下内容:

尝试使用附加的-d参数运行命令以获取更多调试信息,以帮助确定问题的原因:

回声“测试” | 邮件-d -s“测试” myemail@mydomain.co.uk

<...>

我检查了错误日志,并注意到了这一点:

<日期时间> raspberrypi sSMTP [3477]:<一堆消息,包括显示根本原因的错误>

您可以尝试以下命令:

os.system('./sendmail.sh')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM