朋友做网站安装了 contact form 7 来接收客户询盘,但是反复测试都无法收到邮件。经过思考,魏艾斯博客认为是 lnmp 环境中 vps 的 mail 函数不能正常发送邮件导致的。解决办法是重新安装 sendmail 组件,下面说一下 lnmp 环境contact form 7 不能发送邮件的解决过程。
以下操作在 Linode 和 CentOS 中测试通过。bluehost 上的虚拟主机不适合这个方法。
1、防止之前已经安装过,我们先移除 sendmail 组件。
yum -y remove sendmail
再运行安装 sendmail 组件命令。
yum -y install sendmail
2、重启 php-fpm 进程
/etc/init.d/php-fpm restart
3、启动 sendmail
/etc/init.d/sendmail start
有朋友说启动速度慢,反正我这里几秒钟就显示正在运行 running,这样就可以用了。
4、检查 sendmail 状态
/etc/init.d/sendmail status
5、修改 php.ini,目的是输入 sendmail 的绝对路径。使用命令打开编辑 php.ini
vi /usr/local/php/etc/php.ini
输入?sendmail_path 查找定位,你会发现是下面的代码
;sendmail_path =
按 i 进入编辑,将这行修改为
sendmail_path = /usr/sbin/sendmail -t -i
按 Esc 键退出编辑,输入 :wq 保存退出。
6、再次重启 php-fpm 进程。
/etc/init.d/php-fpm restart
这时候 sendmail 组件就可以正常运行了。你再去网站发一封测试邮件看看,邮箱很快会收到这封邮件的。
暂无评论内容