• HOME
  • DOCS
  • WTF
  • TECH
  • LIFE
  • PAGES
    • ARCHIVE
    • TAGS
    • ABOUT
    • FRIENDS
    • RSS
  • TOOLS
    • GEO
    • RANDOM()
    • GOO.GL
    • CSS HEART
Aj's Blog

记录时间溜走的瞬间和折腾过的那些事

debian+lnmp环境下wordpress的sendmail问题

2013-07-07  TECH  apt-get install sendmail  Debian  lnmp  php mail()  wordpress sendmail  

一、问题描述

之前在买的shared hosting上每当有人回复就会收到email通知,感觉wp这个功能很贴心

自己弄了vps装了debian和lnmp环境后一直用着挺好,今天突然发现想起来好像很久没收到email通知了,也有人回复为什么没了呢

wordpress默认使用的php mail发信,有兴趣你可以去了解一下。

当然这个php的mail库lnmp环境已经自带了的,但mail()函数依赖于一个系统程序sendmail不是所有的系统都自带了的,比如哥这个版本的debian mirror就没带。

二、解决办法
如果你不确定你的环境是否支持mail()函数可以用一下代码检测

//test.php
if( function_exists('mail') )
{
    echo 'mail() enabled.';
}
else
{
    echo 'mail() disabled.';
}

如果你不确定你的系统中是否已经安装了sendmail那么执行

which sendmail

如果得到sendmail的完整路径说明已经安装了,如果没有那么果断:

apt-get install sendmail

测试之后一切正常了。另外推荐一个插件”WP MAIL SMTP”可以帮你hook wp_mail()自动切换直接使用sendmail还是php mail()。

个人建议直接使用sendmail不用从php mail()再过一遍。

如果你的php mail()已经启用,sendmail也正常,但是依然发不出信,可以用wp mail smtp插件test email查看debug信息,当然你也可以直接

cat /var/log/mail.info
# or
cat /var/log/mail.error

自行查错修复,这里就不赘述了。

下一篇:   centos下3proxy搭建代理
上一篇:   nginx+uwsgi+python环境搭建
暂无评论

Cancel reply