LNMP的mail函数不能发送邮件解决办法

编译好的LNMP环境下,WordPress的WP Tread Comment插件的自动发送回复邮件功能失效了!!然后我又安装了个PHP探针,测试mail函数是存在的,但是发邮件死活发不出去。

怪哉了,之前我的独立服务器和VPS编译LNMP环境都没有出现这样的问题,一时间丈二的和尚摸不着头脑了。

冷静下来之后,我试着对比了能发邮件和不能发邮件的PHP配置文件,答案是相同的,也就是说没有设置上的问题导致不能发送邮件。试着用Linux下的Shell命令mail发送邮件,新的VPS提示这个命令不存在!!

再做进一步的检查,发现这个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,测试发送邮件,成功!!

文章来源:http://www.d9ba.com/1537.html

思章老师

认准了方向,就要勇敢地走下去,十年磨一剑,我相信,只要坚持,一切都有可能。

相关日志

  1. 没有图片

    2015.05.30

    WordPress短代码实现移动设备上内容不可见

    许多人也都开始对自己的站点进行了移动设备适配…

  2. 没有图片

    2012.09.19

    Windows 7 硬盘安装方法大全(绝对实用)

    虽然Windows 8 已经放出,但目前来看…

  3. 没有图片

    2012.06.21

    CentOS 6.2 安装完整教程(不安装桌面系统)服务器必备

    鉴于我的本本配置太低,怕运行VMWare S…

  4. 没有图片

    2011.05.02

    WordPress友情链接调用函数及参数

    平时设计WP主题,很少专门提到友情链接的定义…

  5. 没有图片

    2013.01.14

    Windows 8 / Office 2013 一键激活工具 KMSNano Activator v10.0

    安装了 Windows 8 ,让我开始了一个…

  6. 没有图片

    2010.11.02

    25个有用的PSD转CSS/XHTML基础教程

    现在你已经掌握熟练地设计PSD平面作品,但也…

评论