我正在尝试使用php的mail()函数,但始终出现错误.我已经通过sudo apt-get install sendmail安装了sendmail,编辑了/etc/php5/cli/php.ini文件,在这些行中添加了以下文本:
sendmail_path = /usr/sbin/sendmail -t
sendmail_from = uslonsweb003.ALU@no-reply.com
然后,我重新启动了Web服务器,并使用此命令进行测试:
:~$php -r "mail('sadmicrowave@gmail.com', 'test subject', 'test body message');"
但我每次都会收到以下错误!
sh: -t: not found
这很奇怪,因为我尝试了使用-t和不使用-t的sendmail_path,但是我仍然遇到相同的错误.我究竟做错了什么?
UPDATE!这是我的phpinfo()显示的内容:(我添加了-t back,但该命令在有或没有它的情况下均不起作用).
另一个更新-
我注释掉sendmail_path和sendmail_from行以从头开始,期望mail()函数抱怨php不知道它是什么,但是我却得到了和以前完全一样的错误(即使完全没有这两行!).这使我相信它根本与sendmail程序或mail()函数无关…
解决方法:
我不知道,但是您可以尝试sendmail_path = /usr/sbin / sendmail -t -i.我使用的虚拟主机设置是如此.否则,您可能要检查phpinfo()是否包含sendmail的正确设置.