用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 |
时间: 2024-12-06 19:37:37