linux中mail函数不能发送邮件,linuxmail
linux中mail函数不能发送邮件,linuxmail
没有安装或启动 sendmail 组件
解决办法
我是新手,命令不熟,所以写的很详细,老鸟勿喷哦
1.重新安装 sendmail 组件,我用的是 CentOS ,使用下面的命令安装
代码如下 复制代码
yum install sendmail
2.使用下面的命令重启php-fpm进程
代码如下 复制代码
/etc/init.d/php-fpm restart
3.检测sendmail是否运行正常
代码如下 复制代码
/etc/init.d/sendmail status
如果显示正在运行running 就可以。
可能用到的命令
代码如下 复制代码
/etc/init.d/sendmail start (启动sendmail)
/etc/init.d/sendmail stop (关闭sendmail)(www.111cn.net)
/etc/init.d/sendmail restart (重启sendmail)
4.配置php.ini,填写sendmail的绝对路径
使用命令打开编辑php.ini
代码如下 复制代码
vi /usr/local/php/etc/php.ini
输入?sendmail_path 查找定位(或者手动跳转找到sendmail_path),你会发现默认是下面的代码
代码如下 复制代码
;sendmail_path =
按 i 进入编辑,将这行修改为
代码如下 复制代码
sendmail_path = /usr/sbin/sendmail -t -i
按 Esc 键退出编辑,输入 :wq 保存退出
5.重启php-fpm进程
代码如下 复制代码
/etc/init.d/php-fpm restart
from:http://www.111cn.net/sys/linux/54544.htm
根据你描述的情况,使用mail发邮件是通过本机的postfix来发送的。如果本机的的postfix配置中启用了relay,则会将发信请求转发到relay机器进行投递。如果此时通过mail发不出邮件,则问题有可能出现在relay的服务器上。
你说的通过php是可以发邮件的,这个和使用mail是两回事。如果php程序使用的是自己的发信程序,那与本机的postfix可能就没有什么关系。这其中具体的配置还要看程序是怎么设计的。
可能是用户权限问题。
你执行PHP mail.php 的用户 和 php程序宿主的用户不一个吧?
用的什么邮件系统?
评论暂时关闭