Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php sendmail sh:/usr/sbin/sendmail:权限被拒绝_Php_Apache_Sendmail - Fatal编程技术网

Php sendmail sh:/usr/sbin/sendmail:权限被拒绝

Php sendmail sh:/usr/sbin/sendmail:权限被拒绝,php,apache,sendmail,Php,Apache,Sendmail,我不能从php脚本发送邮件,尽管我可以使用sendmail和 php sendMyMail.php 我已经试过了 httpd以apache用户的身份运行,我将apache用户添加到了smmsp组 httpd_可以发送邮件-->打开 但在httpd错误日志中仍然显示此错误 sh:/usr/sbin/sendmail:权限被拒绝 有人知道吗?我真的非常感谢你的所有建议,我对这一建议感到非常疲惫。你可以从命令行发送电子邮件并不意味着任何用户都可以(例如apache) 检查apache是否确实可以发送

我不能从php脚本发送邮件,尽管我可以使用sendmail和

php sendMyMail.php

我已经试过了

  • httpd以apache用户的身份运行,我将apache用户添加到了smmsp组

  • httpd_可以发送邮件-->打开

  • 但在httpd错误日志中仍然显示此错误

    sh:/usr/sbin/sendmail:权限被拒绝


    有人知道吗?我真的非常感谢你的所有建议,我对这一建议感到非常疲惫。

    你可以从命令行发送电子邮件并不意味着任何用户都可以(例如apache)

    检查apache是否确实可以发送电子邮件:

    sudo -u apache sendmail root@localhost
    

    阅读邮件日志文件(通常为/var/log/mail.log)以查看发生了什么。root的收件箱通常位于/var/spool/mail/root)。提示:如果您不想将root用作豚鼠,请使用与root不同的其他用户。

    除了
    setsebool-p httpd_can_sendmail 1
    您需要在外部允许apache连接:
    setsebool-p httpd_can_network_connect 1

    是否检查权限?请尝试通过chmod-v 2755/usr/sbin/sendmail提供权限?是的,但否运气。谢谢/usr/sbin/sendmail的权限是什么?您运行的服务器是否可以访问sendmail二进制文件?lrwxrwx。1 root root 21 Jan 16 17:35 sendmail->/etc/alternations/mta这是另一个非常奇怪的问题,上次我改为744,它被重置了。谢谢,我已经运行了这个命令,maillog中没有日志,但是它也没有显示任何错误,sendmail命令对apache用户不起作用。我运行sudo-u php sendMyMail.php时仍然出现以下错误sh:/usr/sbin/sendmail:Permission denied您确定有一个名为“php”的用户吗?从命令行运行php时,执行命令的用户就是您登录的用户(键入whoami以查看您是谁)。通过web服务器运行php,apache是运行php的用户。您使用的是什么*nix系统?非常感谢您的帮助。我更改了send_path=/usr/sbin/sendmail.sendmail-t-I,并更改了权限chmod-v 2755/usr/sbin/sendmail.sendmail它现在正在工作。这绝对是许可问题。我还没有用/usr/sbin/sendmail把它整理好。无论如何,非常感谢。
    sudo -u apache sendmail root@localhost