在使用WordPress的过程中,不可避免地要用到邮件功能。WP自带了mail函数,但用自带mail函数发送邮件很容易失败或者被拒收。所以很多人选择用更方便高效的SMTP来发送邮件。要用SMTP发送邮件,首先需要拥有一个支持SMTP的邮箱(包括Gmail、QQ、126、163等主流邮箱都支持SMTP功能,可能需要到设置中打开),然后在WordPress中简单设置一下。你可以选择用插件,Configure SMTP或者WP Mail SMTP都是不错的插件。前者还支持调试,可以方便地知道是什么原因导致发送失败。下面介绍的是无插件实现SMTP发送功能,毕竟插件多了对速度有不利的影响。
这个功能实现起来也很简单,有两种方法可以实现。
第一种:打开主题文件夹下的functions.php(主机目录/wp-content/themes/主题名/functions.php),在最后一个 ?> 之前加上下面的代码即可:
//使用smtp发邮件 add_action('phpmailer_init', 'mail_smtp'); function mail_smtp( $phpmailer ) { $phpmailer->IsSMTP(); $phpmailer->SMTPAuth = true;//启用SMTPAuth服务 $phpmailer->Port = 465; //SMTP邮件发送端口,常用端口有:25、465和587(后两个为ssl安全连接端口)。 $phpmailer->SMTPSecure ="ssl"; //是否通过 ssl 连接,如果端口为25,则此处将"ssl"改为空白即"",否则不必改动 $phpmailer->Host = "smtp.gmail.com"; // SMTP服务器地址,在邮箱设置或者帮助中心中可以找到 $phpmailer->Username = "username@gmail.com"; //你的邮箱地址 $phpmailer->Password ="******"; //你的邮箱登陆密码 }
第二种:直接修改WordPress源文件class-phpmailer.php和pluggable.php,这个方法需要对WordPress的2个源文件做小小的修改。好处就是你不需要每次更改主题都修改functions.php,而且更安全。
在WordPress的wp-includes目录下找到pluggable.php和class-phpmailer.php两个文件。
将pluggable.php中的"$phpmailer->IsMail(); "替换为:"$phpmailer->IsSMTP();"
在class-phpmailer.php中修改下面对应的设置:
public $Mailer = 'smtp'; public $Host = 'smtp.gmail.com'; //邮箱的SMTP服务器地址 public $Port = 465; //SMTP邮件发送端口 public $SMTPSecure = "ssl"; //是否验证 ssl或tls public $SMTPAuth = true; //开启SMTPAuth public $Username = 'username@gmail.com'; //你的邮箱地址 public $Password = '******'; //你的邮箱登陆密码
快去试一下,跟插件说拜拜吧~
页面上表单的 action 属性应该写什么呀
第一段代码,直接粘贴是无法使用的。我也不懂PHP,我只懂点程序,我觉得代码里面有些是非程序字符,你可以改一下吗?
博主,回复的时候给用户发邮件和这段代码有关不?或者您能告诉我如何实现给回复者发邮件吗?
博客里都有介绍,你翻翻就有了~
我试过了,还是无法开启,应该是主机彻底的禁用了mail()函数了。现在只能用smtp插件代替了。
这就是用SMTP,没用mail函数
nginx下配置了网站打不开,空白
看看是不是哪里有语法问题,网站上的代码可能被转义了。
请问博主,你的这个回复自动发送邮件子怎么设置的
这个百度搜一下很多教程的~
博主,请你帮看看:http://ljcnxxbk.sinaapp.com/?page_id=2,我留言和注册用户都没有收到邮件,是哪里出错了,怎么改,请指点,不太懂。
我也是这个情况,我用得阿里云主机,mail()函数明明也是支持的,插件也用了,还是不行,绝望了...
用的是163的邮箱,没有任何提示。
打开调试模式看看是哪里出错了
按照你说的邮件设置了主题和源文件,注册新账户和评论都没有收到发送的邮件,为何呀?
你这评论模块是用的插件还是? 🙄
没用插件~
我估计我这么配置了还是不能行。。
博主,我按你的方法设置了,还是没有收到邮件
我的是wordpress3.5.1版的,用了几个插件都不行,别个给我评论了我收得到邮件提醒,但是我回复了别个收不到
就这样了,不知道怎么回事
@joerh99: 我跟你的情况一样· 很麻烦一直搞不好
没配置成功能指点下么
有什么提示么?
每次配置wordpress的邮件发送都要让我吐一回血x_x
看主机吧。。有些还是比较好弄