正确配置 WordPress 邮件SMTP

WordPress165.5K阅读模式

默认大部分主机空间都无法正常发送邮件,造成用户注册不能送邮件、无法找回密码等,因此需要用第三方邮件服务器SMTP方式代替 WordPress 默认mail()函数。

正确配置 WordPress 邮件SMTP

正确配置 WordPress 邮件SMTP

相信很多站长都看过网上到处飞的配置WordPress 邮件SMTP方法,但试过之后,总是不成功,例如:

// 配置邮件
add_action('phpmailer_init', 'mail_smtp');
function mail_smtp( $phpmailer ) {
	$phpmailer->FromName = '知更鸟'; // 发件人昵称
	$phpmailer->Host = 'smtp.qq.com'; // 邮箱SMTP服务器
	$phpmailer->Port = 465; // SMTP端口,不需要改
	$phpmailer->Username = '123456@qq.com'; // 邮箱账户
	$phpmailer->Password = 'aabbccddffgg'; // 此处填写邮箱生成的授权码,不是邮箱登录密码
	$phpmailer->From = '123456@qq.com'; // 邮箱账户同上
	$phpmailer->SMTPAuth = true;
	$phpmailer->SMTPSecure = 'ssl'; // 端口25时 留空,465时 ssl,不需要改
	$phpmailer->IsSMTP();
}

 

大部分提供配置代码的说明中没有明确写明第8行$phpmailer->Password 配置中的密码是邮箱第三方授权码,而不是邮箱的登录密码,这是不能成功发邮件的关键之处。

下面仅以QQ邮箱为例,简单说一下如何开启邮箱IMAP/SMTP服务和获得第三方授权码。

首先将上面的代码添加到当前主题函数模板functions.php中,并修改其中的相关信息。

开启IMAP/SMTP服务

登录你的QQ邮箱,依次点击,设置 → 账户,找到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”设置选项,开启邮箱“IMAP/SMTP服务”。

获取授权码

点击下面的“生成授权码 ”,按要求发送短信:配置邮件客户端,到指定的号码,之后点击“我已发送”,会自动生一个授权码,要记好这个授权码,因为只显示一次,没记住只能再次发送短信了,将这个授权码填写到配置信息中即可。

我自己只试过QQ邮箱和126的,其它邮箱方法类似。

注:貌似目前所有邮箱端口都可以设置为465,都支持ssl加密

本站文章大部分始于原创,用于个人学习记录,可能对您有所帮助,仅供参考!

weinxin
我的微信
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
 
知更鸟
评论  16  访客  15  作者  1
    • 大爷快来玩
      大爷快来玩 4

      鸟叔也开始水文章了

        • 知更鸟
          知更鸟

          @ 大爷快来玩 这是水文?还有很多人不会用

            • Yan
              Yan 6

              @ 知更鸟 他的意思是作为如此大咖这样的技术文章只适合五年前的观众……

                • 虫子君
                  虫子君 4

                  @ Yan 深知我心者为君是也! :lol: :lol:

              • 独孤求软
                独孤求软 1

                @ 大爷快来玩 这个很容易吗?我怎么看也看不懂,哈哈。和大佬们的差距还是很大啊。

                • 众科网络
                  众科网络 2

                  @ 大爷快来玩 我觉着不喜欢或者会的话可以不看或者不发表意见。之前网上的那个错误位置,从来没有人指出过。鸟神指出来,我才是第一次看到是这个原因。

                • 奶爸建网站笔记
                  奶爸建网站笔记 4

                  其实这个用插件配置是最方便的,国外服务器的话还可以直接插件配置gmail的,成功率很高。

                  • 小王先森
                    小王先森 1

                    可惜还是没有成功

                    • 于长野
                      于长野 0

                      是的是的,许多新手都被坑过

                      • maqingxi
                        maqingxi 5

                        只有QQ邮箱是填写第三方授权码,其他邮箱都是填写登录密码的。
                        还有一点,收件人邮箱是要填写当前配置邮箱的地址的,即不能配置QQ邮箱,收件人填163邮箱地址。

                        • 青山
                          青山 2

                          QQ邮箱麻烦,网易邮箱方便,直接填邮箱登录密码就行

                          • silentnook
                            silentnook 0

                            $phpmailer->From = ‘123456@qq.com’; // 收件邮箱账户
                            邮件不是发到这里,还是发到WordPress后台设置里的“管理邮件地址”。
                            所以说这一行似乎没用吧?

                              • silentnook
                                silentnook 0

                                @ silentnook 好像还不是,似乎是用户资料里的邮箱地址。这两个地址不一样吧。

                              • 沉言思语
                                沉言思语 2

                                我的QQ企业邮箱设置的那个passord就是邮箱的登录密码。 QQ免费企业邮箱没有邮箱生成的授权码。
                                已经测试好用。

                                • 纾妤
                                  纾妤 0

                                  163免費郵箱測試了還是不能收到。

                                  • 九凌网络
                                    九凌网络 2

                                    我在这里看到了一些很棒的东西,是值得重新访问的书签。我佩服你付出了多少努力来创建这样一个信息丰富的网站。

                                  匿名

                                  发表评论

                                  匿名网友
                                  :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

                                  拖动滑块以完成验证