linux中mail函数不能发送邮件怎么办

linux中mail函数不能发送邮件怎么办,第1张

 没有安装或启动 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)

/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

根据你描述的情况,使用mail发邮件是通过本机的postfix来发送的。如果本机的的postfix配置中启用了relay,则会将发信请求转发到relay机器进行投递。如果此时通过mail发不出邮件,则问题有可能出现在relay的服务器上。

你说的通过php是可以发邮件的,这个和使用mail是两回事。如果php程序使用的是自己的发信程序,那与本机的postfix可能就没有什么关系。这其中具体的配置还要看程序是怎么设计的。

你好很高兴回答您的问题:

排查流程,检查网络,域名解析是否正常

防火墙是否放行邮件25或465端口

检查是否配置/etc/mail.rc

如果是云服务推荐使用465发送邮件,不容易屏蔽.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7194598.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存