bash - 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。
有谁知道为什么会这样?
解决方案
所以我设法满足了我的要求,但最后我不得不放弃 bash 并改用 perl。这令人沮丧,因为 bash 脚本唯一不会做的就是发送电子邮件。perl 脚本具有所有相同的用户权限,并且可以正常工作。感谢 Nicholas 的建议。
推荐阅读
- mysql - 为什么我不能使用外键名称删除外键,而是接受类似works_with_ibfk_2类型名称的东西?
- python - 如何在彼此的顶部绘制相同列的行
- dialogflow-es - 如何在 Dialogflow 中创建 Facebook 轮播作为“自定义有效负载”
- nginx - 文件意外结束,期待“;” 或 nginxconfig.io 中的“}”
- node.js - Mongoose 查找,具有一个搜索参数的多个字段
- bioinformatics - 如何从 v. 0.11.6 开始为 fastQC 启用 kmer 图
- xml - 是否可以覆盖 apache-servicemix cxf.xml 文件?
- javascript - handlebar.js 中的条件 IF
- powershell - 如果是第 7 天和第 14 天,Send-MailMessage
- apache-spark - Databricks 中的 Z 排序