纯代码配置 WordPress 邮件SMTP

 4年前     3.5K  

文章目录

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

纯代码配置 WordPress 邮件SMTP

代码

代码很简单,将下面的代码放置到主题 functions.php 文件内。

// 配置邮件
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();
}

如果你使用的是QQ邮箱,大部分提供配置代码的说明中没有明确写明第8行$phpmailer->Password 配置中的密码是邮箱第三方授权码,而不是邮箱的登录密码,这是不能成功发邮件的关键之处。其他邮箱请到邮箱网址查看帮助。

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

开启邮箱IMAP/SMTP服务

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

获取授权码

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

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

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

邮件模板

版权声明:一为 发表于 4年前,共 1020 字。
转载请注明:纯代码配置 WordPress 邮件SMTP | 一为忆

您可能感兴趣的

5 条评论

  • avatar

    时光菌 ( VIP 1 )

    四川
    回复

    大佬,想问下设置后提示“因在wp-content/themes/webstackpro/functions.php文件的88行有错误,您对PHP代码的修改已被回滚。请修复并重试。
    syntax error, unexpected ' ' (T_STRING)”怎么办呢,这一行是设置发件人昵称那一行,不更改这一行内容也报错

  • avatar

    今日新鲜事 ( VIP 1 )

    广西
    回复

    文章不错支持一下吧

  • avatar

    趣知识 ( VIP 1 )

    北京
    回复

    页面右上角的灯笼,怎么做到的呢?