首页 > 解决方案 > Bash cgi 脚本以 apache@ 用户身份发送电子邮件并忽略邮件命令参数

问题描述

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

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

echo -e "身体" | 邮件 -s "主题" "myemailaddress@hotmail.com"

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

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

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

有谁知道为什么会这样?

标签: bashapachecentoscgi

解决方案


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


推荐阅读