LNMP筆記:解決mail函數不能發送郵件

用LNMP环境,在探针里测试发送邮件,失敗了。已经确定mail()函数是开启的。

问题根源

没有安装或启动 sendmail 组件

解决辦法

我是新手,命令不熟,所以写的很详细,老鸟勿喷哦

1.重新安装 sendmail 组件,我用的是 CentOS ,使用下面的命令安装

1
yum install sendmail

2.使用下面的命令重启php-fpm进程

1
/etc/init.d/php-fpm restart

3.检测sendmail是否运行正常

1
/etc/init.d/sendmail status

如果显示正在运行running 就可以。

可能用到的命令

1
2
3
4
5
/etc/init.d/sendmail start (启动sendmail)
 
/etc/init.d/sendmail stop  (关闭sendmail)
 
/etc/init.d/sendmail restart (重启sendmail)

4.配置php.ini,填写sendmail的绝对路径

使用命令打开编辑php.ini

1
vi /usr/local/php/etc/php.ini

输入?sendmail_path 查找定位(或者手动跳转找到sendmail_path),你会发现默认是下面的代码

1
;sendmail_path =

按 i 进入编辑,将这行修改为

1
sendmail_path = /usr/sbin/sendmail -t -i

按 Esc 键退出编辑,输入 :wq 保存退出

5.重启php-fpm进程

1
/etc/init.d/php-fpm restart

 

Database error: [Table 'ac_search_cache' is marked as crashed and should be repaired]

SELECT * FROM ac_search_cache WHERE hash = 'ad9c694e95fb9740f765ee6531fc49fc496af46a' LIMIT 1;