WordPress无插件配置SMTP发信功能详细教程

许多站长在搭建WordPress网站后,希望为站点添加SMTP发信功能。虽然市面上有不少插件可以实现这一需求,但本文将以无插件的方式手动配置SMTP,从而避免给服务器带来额外负担。

  1.准备工作:获取一个支持SMTP的发信邮箱

在开始配置WordPress的SMTP功能之前,首先需要准备一个允许SMTP发信的邮箱。这里以126邮箱为例:

登录126邮箱,进入「设置」页面;

找到POP3/SMTP/IMAP设置选项;

开启IMAP/SMTP服务,并设置一个授权密码(用于后续登录SMTP服务)。

注意:不同邮箱服务商的设置路径可能略有不同,但核心都是开启SMTP服务并获取授权密码。

图片[1]|WordPress无插件配置SMTP发信功能详细教程|Wordpress论坛|频道|三零软件

  2.编辑主题的functions.php文件

完成邮箱端的SMTP设置后,接下来需要在WordPress主题的functions.php文件中添加相应代码。

在 functions.php 文件的尾部,添加以下代码:

add_action('phpmailer_init', 'mail_smtp');
function mail_smtp( $phpmailer ) {
$phpmailer->FromName = 'pcbiji.com'; //发件人名称
$phpmailer->Host = 'smtp.126.com'; //修改为你使用的邮箱SMTP服务器
$phpmailer->Port = 465; //SMTP端口
$phpmailer->Username = 'test@126.com'; //邮箱账户
$phpmailer->Password = '12345678@'; //授权密码
$phpmailer->From = 'test@126.com'; //邮箱账户
$phpmailer->SMTPAuth = true;
$phpmailer->SMTPSecure = 'ssl'; //tls or ssl (port=25时->留空,465时->ssl)
$phpmailer->IsSMTP();  }

各项参数说明

参数 说明
Host 邮箱服务商提供的 SMTP 服务器地址(如 126 邮箱为 smtp.126.com
Port SMTP 端口号,常见值:25(无加密)、465(SSL 加密)、587(TLS)
SMTPSecure 根据端口决定:端口 465 填 'ssl';端口 25 或不加密时留空 ''
Username 完整的邮箱地址
Password 授权密码(在邮箱设置中开启 SMTP 服务时获得的专用密码,不是邮箱登录密码)
setFrom 第一个参数为发件邮箱,第二个参数为发件人显示的昵称

重要注意事项

  • 端口与加密的对应关系
    若端口为 465,则 SMTPSecure 必须设置为 'ssl'
    若端口为 25(不开启 SSL),则 SMTPSecure 设置为空字符串 ''

  • 授权密码 vs 登录密码
    目前主流邮箱(包括 126、QQ、163、Gmail 等)均要求使用授权密码进行 SMTP 登录,而不是直接使用邮箱的登录密码。请务必在邮箱后台生成并填写授权密码,否则会连接失败。

  • 发件人名称:可以自定义,例如“网站通知”或你的品牌名。

常见问题排查

如果配置完成后发信失败,请按以下顺序检查:

  1. 确认 SMTP 服务已开启:登录邮箱后台,检查 IMAP/SMTP 服务状态是否为“开启”。

  2. 核对授权密码:确认填入的是授权密码,而非日常登录密码。

  3. 端口与加密类型匹配:参考邮箱服务商提供的帮助文档,确认端口号和加密方式正确。

  4. 测试代码是否生效:可以借助 WP Mail SMTP 等插件的测试工具临时验证,或直接通过联系表单等触发邮件发送。

总结

通过以上步骤,无需安装任何插件,即可为 WordPress 网站配置 SMTP 发信功能。整个过程只需准备一个支持 SMTP 的邮箱,并在主题的 functions.php 中添加少量代码。虽然看起来稍显手动,但能有效减少插件带来的性能开销,也便于开发者深入理解 WordPress 的邮件发送机制。

如果遇到问题,多数情况是由于授权密码或端口配置错误所致,建议仔细对照邮箱服务商的官方说明进行调整。

请登录后发表评论

    没有回复内容