1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

WORDPRESS无插件完美实现SMTP发件功能

本帖由 feeloon2012-10-25 发布。版面名称:源码讨论

  1. feeloon

    feeloon New Member

    注册:
    2012-10-23
    帖子:
    32
    赞:
    0
    在我们无忧主机php虚拟主机的用户中,有大部分人都是用的wordpress。wordpress在找回密码、评论邮件通知时,我们都会用到邮箱功能。那么,我们该如何配置wordpress的邮箱功能过呢?我们都知道,发邮件有两种方式。一种是wp默认的mail函数方式(sendmail)发邮件,这个是wp默认的,另一种方式就是比较先进而又有效率的smtp方式。我们选择的时候,如何选择类?那种更好?

    无忧主机(51php.com)小编,强烈推荐使用smtp这种经过安全验证的方式发送邮件。使用mail函数发邮件,这种方式,非常容易导致发送的邮件直接被过滤掉,或者直接发送不成功。为了保障你的邮件发送成功率,小编“强烈鸡冻”推荐给你的wordpress配置好smtp邮件功能。详细配置,请直接参考“wordpress插件Configure SMTP配置SMTP邮件的详细设置方法”

    好了,上面我们回顾下了以前的历史小内容,下面我们谈谈另一种方式来实现wp的smtp邮件功能的设置。我们为什么又要搞这么一篇类?来说smtp邮箱的配置?不是多此一举类?我相信,使用过一段的时间的wordpress的站长都会明白一个道理,插件用的越多,wordpress博客加载的就越慢,而且影响访问速度,插件多了,极有可能还是碰到插件冲突导致网站运行错误。能少一用个插件,就少一份“安全隐患”,我们要将wordpress的插件用在刀刃上。所有就有了今天这篇文章,无插件实现wordpress的smtp邮件功能,使用php代码实现,更高效,更安全。详细配置方法如下:

    一、拥有一个smtp功能的邮箱

    首先我以qq邮箱为演示邮箱。要把邮箱的smtp的服务打开,以QQ邮箱为例,smtp服务设置在(设置——帐户设置——POP3/IMAP/SMTP/Exchange服务 下面三个全勾上),保存OK。如下图,



    无忧主机(51php.com)小编温馨提示:163邮箱、gmail邮箱、这些免费邮箱也都自带smtp功能,您直接申请就可以直接使用。

    二、修改wordpress代码实现smtp邮件功能

    开启了邮箱的smtp服务,下面就是配置wordpress了。使用ftp工具连接您的空间,找到相应模板下的functions.php(默认路径为…/wp-content/themes/twentyeleven/fuinctions.php),使用EditPlus编辑(没有EditPlus可以去百度下载),将下面代码添加到<? 后面。如下:

    1
    //使用smtp发邮件
    2

    3
    add_action('phpmailer_init', 'mail_smtp');
    4

    5
    function mail_smtp( $phpmailer ) {
    6

    7
    $phpmailer->IsSMTP();
    8

    9
    $phpmailer->SMTPAuth = true;//启用SMTPAuth服务
    10

    11
    $phpmailer->Port = 465;//MTP邮件发送端口,这个和下面的对应,如果这里填写25,则下面为空白
    12

    13
    $phpmailer->SMTPSecure ="ssl";//是否验证 ssl,这个和上面的对应,如果不填写,则上面的端口须为25
    14

    15
    $phpmailer->Host =
    16

    17
    "smtp.gmail.com";//邮箱的SMTP服务器地址,如果是QQ的则为:smtp.exmail.qq.com
    18

    19
    $phpmailer->Username = "[email protected]";//你的邮箱地址
    20

    21
    $phpmailer->Password ="******";//你的邮箱登陆密码
    22

    23
    }
    如下图展示:



    特别注意端口和协议一定要对应。简单搞定,然后上传覆盖即可。现在看看,效果吧!