下面是编程之家 jb51.cc 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。
使用 lnmp 环境后,lnmp 下 mail 函数不能发送邮件的问题,这个问题就是,编译好的 LNMP 环境下,自动发送回复邮件功能失效了!!然后我又安装了个 PHP 探针,测试 mail 函数是存在的,但是发邮件死活发不出去。已经确定 mail()函数是开启的,探针里测试发送邮件,但是失败了。
解决办法:
在这里,我不建议大家使用 sendmail 作为发信,理由就是效率低,速度慢,所以,一上来就得把他卸载了,这里我就直接说教程了,不墨迹!
yum remove sendmail
然后就开始安装 Postfix 了,这相对与 sendmail 要效率高很多,发信速度快,占用内存低,可以说是目前服务器发信首选,当然也有很多大神会说 smtp 也不错,那也没错,但个人爱好,我就喜欢服务器发信的简单!
安装 Postfix:
yum install postfix
更改默认 MTA 为 Postfix:
/usr/sbin/alternatives --set mta /usr/sbin/sendmail.postfix
完事儿,再次检查下是否将 MTA 改为 Postfix 了:
alternatives --display mta
配置 Postfix,vi 编辑 main.cf
vi /etc/postfix/main.cf
打开后分别找到以下几项,将其前面的#去掉,并做配置:
myhostname = mail.2zzt.com
mydomain = 2zzt.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname,localhost.$mydomain,localhost,$mydomain
mynetworks = 192.168.100.10/28,127.0.0.0/8
relay_domains =
home_mailbox = Maildir/
在这里我会给出 main.cf 的完整文件,省的大伙改错的,大家只需将 main.cf 文件里的 2zzt.com 替换为你们自己的域名即可 OK 了,main.cf(点击文件名下载),不喜欢 vi 在线编辑的,可以直接下载 main.cf 上传到服务器的/etc/postfix/main.cf 进行替换吧,检测并启动 Postfix
service postfix status
若未启动,执行以下命令:
service postfix start
设置开机启动
chkconfig postfix on
到这一步 Postfix 算是 OK 了,但我们还是得到 php.in 里配置下 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 保存退出,重启 php-fpm 进程
/etc/init.d/php-fpm restart
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。