Bash cgi 脚本以 apache@ 用户身份发送电子邮件并忽略邮件命令参数

Bash cgi script sending email as apache@ user and ignoring mail command parameters

我正在使用 Centos 7、Apache 2.4.6、Postfix 2.10.1

我在 cgi-bin 中有一个 bash 脚本,它使用以下语法发送电子邮件:

echo -e "Body" |邮件-s“主题”“myemailaddress@hotmail.com”

如果我在命令行上执行它,那么它会按预期工作并发送电子邮件。

但是,如果我通过 cgi-bin 目录从网页启动相同的脚本行,则 cgi 脚本不会抛出错误,但我会收到一封来自 apache@mydomain.com 的电子邮件,其中包含空主题和 body.

我已经设置了脚本的执行权限。
我修改了selinux设置httpd_can_sendmail.

有人知道为什么会这样吗?

所以我设法满足了我的要求,但最后我不得不放弃bash而改用perl。这令人沮丧,因为 bash 脚本唯一不会做的就是发送电子邮件。 perl 脚本具有相同的用户权限,并且可以正常工作。 感谢 Nicholas 的建议。