让 WordPress 通过 SMTP 发送邮件

版权声明:原创文章,转载请注明出处,Crazy Loong(http://goto8848.net)

“我怎么收不到我blog的注册邮件啊?”
“为什么我的 WordPress 发不出邮件呢?”
……

以上这些问题是 WordPress 使用者经常碰到的问题,同时也是十分棘手的问题。为什么这么说呢?因为 WordPress 在用户注册时,是通过 Email 把初始密码发给注册用户的;而且,WordPress 很多时候也是通过 Email 来发送一些信息给博主的,比如有人在你 blog 留言了。可见,WordPress 无法发送邮件,是多么可悲的一件事啊!

接下来就是重点了,为什么邮件无法发送呢?WordPress 默认的发送邮件的方式是使用 PHP 中的 mail() 函数,而mail()函数使用的确是 *nix 的Sendmail。大多数无法发送邮件的原因就在于此。可想而知,国内广大的WIN主机用户是多么的憋闷。

难道就素手无策了?当然不是了,事情总有解决的方法。感谢伟大的 PHPer 们,因为我们有 PHPMailer (介绍见这里)。更令我们高兴的事儿是 WordPress 已经集成了 PHPMailer ,有经验的 WPer 可以直接修改 wp_mail() 函数,将其发送方式修改成 SMTP 方式(具体方法请自行查阅)。对于大多数 WPer 来说,这显然不是一个好方法(废话ing)。这个时候,WordPress 丰富的插件优势又体现出来了,下面,我就介绍三个插件给大家,这也是我推荐的解决问题的方法。

1、Configure SMTP | 点击下载

configure-smtp-screenshot

2、WP Mail SMTP | 点击下载

wp-mail-smtp-screenshot

3、Swift SMTP Plugin | 点击下载

swift-smtp.1.0-screenshot

前两个使用的是 PHPMailer 类,而后一个使用的 Swift (另一个有名的 Mailer 类)。

我相信这三个插件中,无论哪一个,都足以帮助大家解决无法发送邮件的问题。有什么不明白的,可以在下面留言给我。

63 thoughts on “让 WordPress 通过 SMTP 发送邮件”

  1. Pingback: Open your thoughts
  2. To: gavin
    我们用的很多邮件服务器都可以使用smtp发送邮件。
    gmail,网易邮箱,新浪邮箱,搜狐邮箱,都可以啊。应该还是相关设置没设置好。

  3. 是不是装了以后就可以发送邮件了?

    那后台是选择PHPMAIL还是选择SMTP啊?????

  4. 测试邮件成功可是还是收不到找回密码的邮件!!!!
    注册也收不到!

  5. 上次装Movable Type的时候好像会让用户选择发送邮件的方式.MT安装是烦了点,但是看来还是有好处的.

  6. 所有的插件都试过了,还是不行,在试Swift的时候有提示说可能是PHP程序设置的问题,具体原因不明.郁闷 :smoke:

  7. To: 摩摩诘
    如果上面三个插件都正确设置过了,还不行的话,我想,你可以考虑换个空间了。 :yun:

  8. 我的也不能用 都试了很多的插件了,
    网上能找见的几乎都用了,能有126,但是Gmail怎么也不行,一直出错,
    用了支持ssl的也是不行,不知这个和php的组件有什么关系没有.

  9. To: yinheli
    Swift SMTP Plugin 是肯定可用的。检查你的设置好了没有。

  10. 你好,先生,请问这些插件是下载安装好以后直接在后台设置就可以使用了吗?
    不需要修改其他的什么东西吗?
    可是我的不知道为什么始终不能成功啊。

    我的是Win主机,IIS环境。。

    多谢。

  11. Swift SMTP Plugin发测试能通过,但是用WP-DB-Backup和Wordpress Thread Comment却不行,不知道是不是还要修改什么东西,服务器禁用了SMTP服务,前两款插件用不了,麻烦Crazy Loong帮我想想办法,谢谢啦

  12. 我的是直接测试邮件都收不到。三个插件都试过了,竟然都不行,我这两天都快崩溃了。。帮帮忙啊。。

  13. 我导出了一个wp博客的wxr文件,我想提取这个文件中从过去某个时间开始至今的数据,(然后再把提取出来的数据导入到另一个wp博客),如何提取呢?

  14. 不想用插件怎么做呢,我的空间是linux的啊,我更改了一次邮箱,之后就收不到邮件了…能不能解释下?

  15. 用wp-mail-smtp的连gmail失败,配置参考楼主的设置,请问是哪里出错了呢

    bool(false)
    [“smtp_conn”]=>
    bool(false)
    [“error”]=>
    array(3) {
    [“error”]=>
    string(27) “Failed to connect to server”
    [“errno”]=>
    int(110)
    [“errstr”]=>
    string(20) “Connection timed out”

  16. To: Peja
    Gmail 的连接和一般的不一样,我不确定wp-mail-smtp是否支持gmail的发送。

    你可以试试Swift SMTP Plugin

  17. 我是LAMP,所以不用担心PHPMAIL函数问题,只要我自己搞定服务器的sednmail问题就成了。

    不过你建议的WP SMTP插件,还是很想尝试的。 :hehe:

Leave a Reply