PHP通过CLI发送电子邮件

PHP通过CLI发送电子邮件,php,email,exec,command-line-interface,Php,Email,Exec,Command Line Interface,我想在一些服务结束后发送一封电子邮件,所以我使用php exec()函数来实现这一点 我使用的命令是:exec(”(其他服务命令;/usr/bin/php/var/www/vhosts/domain.com/httpdocs/email.phpname@domain.com)>/dev/null&') php包含一个mysql更新和一个mail()函数。它似乎在mysql更新过程中运行良好,但它没有发送电子邮件 如果我通过CLI而不是通过php exec()运行该命令,则会正确发送电子邮件。 例

我想在一些服务结束后发送一封电子邮件,所以我使用php exec()函数来实现这一点

我使用的命令是:
exec(”(其他服务命令;/usr/bin/php/var/www/vhosts/domain.com/httpdocs/email.phpname@domain.com)>/dev/null&')

php包含一个mysql更新和一个mail()函数。它似乎在mysql更新过程中运行良好,但它没有发送电子邮件

如果我通过CLI而不是通过php exec()运行该命令,则会正确发送电子邮件。
例如,
/usr/bin/php/var/www/vhosts/domain.com/httpdocs/email.phpreceiver@domain.com

还有什么需要我设置的吗?

我终于找到了

显然,CLI的php.ini(
/etc/php5/CLI/php.ini
)上的
sendmail\u路径被注释掉了


我取消了它的注释,将它的值设置为
/usr/sbin/sendmail-t-I
,重新启动了apache,现在它可以正常工作了

不必将输出重定向到/dev/null,您可以将其重定向到一个文件,也许您可以直接从文件中读取发生的情况问题在于权限:尝试将cli命令与
sudo-u wwuser/usr/bin…
-您应该会发现这不起作用