默认大部分主机空间都无法正常发送邮件,造成用户注册不能送邮件、无法找回密码等,因此需要用第三方邮件服务器 SMTP 方式代替 WordPress 默认 mail() 函数。
相信很多站长都看过网上到处飞的配置 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 服务」 。
获取授权码
点击下面的 「生成授权码 」,按要求发送短信:配置邮件客户端,到指定的号码,之后点击 「我已发送」,会自动生一个授权码,要记好这个授权码,因为只显示一次,没记住只能再次发送短信了,将这个授权码填写到配置信息中即可。


![[奇葩一说]小仙女擦碰新车反手殴打辱骂车主](http://www.xyok.net/wp-content/uploads/2025/11/QQ_1764413294495-75x75.png)




















![[奇葩一说]小仙女擦碰新车反手殴打辱骂车主](http://www.xyok.net/wp-content/uploads/2025/11/QQ_1764413294495-120x86.png)





