PHP通过CLI发送电子邮件

时间:2012-04-04 11:46:23

标签: php email exec command-line-interface

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

我使用的命令是:exec('(other service commands; /usr/bin/php /var/www/vhosts/domain.com/httpdocs/email.php name@domain.com) > /dev/null &');

email.php包含一个mysql更新和一个mail()函数。它似乎运行良好,因为mysql更新正在发生,但它不发送电子邮件。

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

我还有什么其他方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我终于明白了!

显然,CLI的php.ini(sendmail_path)上的/etc/php5/cli/php.ini被注释掉了。

我取消注释,将其设置为/usr/sbin/sendmail -t -i,重新启动apache,现在它正常运行!