VPS默认没有安装sendmail这个Linux下的基本邮件组件。看来问题就在这里了!!通过重新安装sendmail(我用的CentOS,则是使用yum install sendmail来安装)之后,重启php-fpm进程,结果还是发送失败。
用Shell下的mail命令进行测试,能够正常发出E-Mail,没有任何问题。但是PHP下的mail()函数就是死活不行。
继续网上搜索资料,结果发现编译PHP的时候,需要确保sendmail组件是已经安装好了的,不然发送邮件就不行。但是我又不想重新编译一次PHP(太费时间了),有没有别的办法呢?——答案当然是有的。
只需要在php.ini文件中,找到mail部分的设置,将下面这个参数设置下即可:
sendmail_path = /usr/sbin/sendmail -t -i
也就是说让系统找到sendmail的绝对路径,这样就不会有问题啦!重启PHP,测试发送邮件,成功!!