本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 [署名 4.0 国际 (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/deed.zh) 本文作者: 苏洋 创建时间: 2013年12月13日 统计字数: 1528字 阅读时间: 4分钟阅读 本文链接: https://soulteary.com/2013/12/13/wordpress-for-sae-send-mail.html ----- # WordPress For SAE 邮件发送问题修正 因为一直没有遇到修改密码触发发送邮件的需求,所以没有及时测试到这个功能。对使用 WordPress For SAE 的粉丝造成的不便,在此深表抱歉! 在接下来的新版本中,将会默认集成并启用“邮件插件”,如果你有让 WordPress 发送邮件的需求,只需要登录 WordPress 后台,设置你的邮箱账号密码即可正常使用。 ## 粉丝反馈问题修正 记录下最近修正的两个问题。 ## QQ 邮箱找回密码邮件正文有问题 有用户反馈找回密码功能发送的邮件会在地址结尾处多添加一个右尖括号 `>`。我使用 QQ 邮箱进行了测试,果然复现了这个情况。 ![2013-12-12\_162812](https://attachment.soulteary.com/2013/12/13/2013-12-12_162812.png "2013-12-12_162812") 追查代码,看到了代码里的实现是这样的: ```php $message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . ">\r\n"; ``` WordPress 出于“美观”的考虑,在字符串后添加了这样一个符号。QQ 邮箱 智能补全了一把,但是没有智能好,导致生成了错误的渲染结果。 解决方法也很简单,把这句字符串拼接前后的尖括号去掉即可: ```php $message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . "\r\n"; ``` 发送邮件进行功能确认,果然没有问题了。 ![2013-12-12\_164506](https://attachment.soulteary.com/2013/12/13/2013-12-12_164506.png "2013-12-12_164506") ## 用户反馈 `wp_mail_smtp` 插件设置报错 出现这个问题的原因是 `wp_mail_smtp` 中包含了 SAE 不支持的功能方法。 我简单的对 `wp_mail_smtp` 进行汉化和修改,将 SAE 不支持的方法去掉之后,功能就正常了,插件的完整修改记录见 GitHub。 为了方法用户使用,顺手将用户使用量最多的 QQ 邮箱作为了默认配置参数,想要使用这个插件发送邮件,只需要登录后台之后设置你的邮箱服务商和账号即可。 ![2013-12-12\_155723](https://attachment.soulteary.com/2013/12/13/2013-12-12_155723.png "2013-12-12_155723") 设置完毕插件信息之后,点击发送测试邮件按钮,不出意外的话,你的邮箱会收到类似下图的测试邮件提醒。 如果没有收到,请仔细检查上面填写的内容是否正确。 ![2013-12-12\_161406](https://attachment.soulteary.com/2013/12/13/2013-12-12_161406.png "2013-12-12_161406") 至此,两个问题都解决了。 如果对 WordPress For SAE 的使用还有任何使用问题,欢迎反馈。 关于此次更多的修改细节,可以访问 GitHub 中的[提交记录](https://github.com/soulteary/wordpress-for-sae/commit/dfbc8a48d9a38f96fa9fb74519f75d4235ef660e)。