WordPress邮件发送配置:零基础也能搞定的SMTP设置
为什么你的WordPress发不出邮件
很多新手做完网站后,发现联系表单、注册确认、密码重置等邮件一直收不到。
这通常是因为WordPress默认使用PHP的 mail() 函数发送邮件,而大多数服务器(尤其是国内主机)的该函数被禁用或配置不全。解决方法是改用SMTP(简单邮件传输协议)发送,通过第三方邮件服务(如QQ邮箱、阿里云邮件推送、SendGrid等)来保证邮件可靠送达。
准备阶段:先收集发件服务器信息
在动手设置前,你需要准备好以下SMTP参数(以QQ邮箱为例):
- 发件邮箱地址:比如
yourname@qq.com - SMTP服务器地址:
smtp.qq.com - SMTP端口:SSL 465 或 TLS 587(建议用465)
- 发件邮箱授权码:不是QQ登录密码,需要在QQ邮箱设置里生成一个“SMTP授权码”。
- 加密方式:SSL
如果你用企业邮或其他服务,请去其帮助中心找到对应的SMTP地址和端口。务必先测试自己的邮箱客户端能否正常发送,再配置到WordPress。
核心操作:使用插件完成WordPress邮件发送配置
对于零基础用户,安装插件是最稳妥的方案。
推荐“WP Mail SMTP”插件,安装量超过300万,设置简单。
- 安装插件
登录WordPress后台 → 插件 → 安装插件 → 搜索“WP Mail SMTP” → 安装并启用。
- 进入设置
左侧菜单出现“WP Mail SMTP”,点击进入 → 在“General”选项卡中,选择“Other SMTP”作为邮件程序。
- 填写SMTP参数
根据你准备的参数填写以下字段:
- SMTP Host:
smtp.qq.com - Encryption:选择
SSL - SMTP Port:
465 - Auto TLS:建议开启(插件会自动处理)
- Authentication:打开(默认开启)
- Username:你的完整发件邮箱地址
- Password:刚才申请的授权码,不是QQ密码
- 保存设置
点击“Save Settings”。
插件会自动测试一次连接,如果配置正确会显示“Test successful”。
---
如果不想用插件,也可以用代码直接设置
编辑当前主题的 function.php 文件(建议使用子主题),在末尾添加以下代码(修改斜体部分为你自己的参数):
add_action( 'phpmailer_init', 'configure_smtp' );
function configure_smtp( $phpmailer ) {
$phpmailer->isSMTP();
$phpmailer->Host = 'smtp.qq.com';
$phpmailer->Port = 465;
$phpmailer->SMTPSecure = 'ssl';
$phpmailer->SMTPAuth = true;
$phpmailer->Username = 'yourname@qq.com';
$phpmailer->Password = '你的授权码';
$phpmailer->From = 'yourname@qq.com';
$phpmailer->FromName = '网站名称';
}
保存后刷新后台,测试发送。注意:代码方式需要你对文件权限和安全性有基本了解,新手建议优先用插件。
高频问题与避坑说明
1. 配置后仍然发不出去?
- 检查端口是否被防火墙屏蔽:使用
telnet smtp.qq.com 465测试(Windows需开启Telnet客户端)。如果超时或被拒,联系主机商开放端口。 - 检查授权码是否过期:部分邮箱(如QQ)授权码有有效期,过期后需要重新生成。
- 检查From地址是否与登录邮箱一致:很多邮件服务要求发件人地址必须等于SMTP登录的用户名,否则会拒绝发送。
2. 提示“SMTP connection failed”
- 确认SMTP服务器地址和端口拼写正确,加密方式与端口匹配(SSL通常对应465,TLS对应587)。
- 尝试在插件设置中关闭“Auto TLS”。
- 如果服务器是Nginx/Apache+PHP,检查PHP是否加载了
openssl扩展。登录你的服务器(宝塔用户进入软件商店 → PHP管理 → 安装扩展),确保openssl已启用。
3. 用QQ邮箱时,总被拦截怎么办?
- 登录QQ邮箱 → 设置 → 账户 → 开启“POP3/SMTP服务”,并生成授权码。
- 发送测试邮件后,如果QQ邮箱那边有“安全提醒”,可以登录邮箱查看并“信任此客户端”。
验证:真的能收到邮件吗?
安装并配置完成后,马上做一次真实测试:
- 如果是插件版,WP Mail SMTP自带“Email Test”功能,在插件设置页面下方输入一个能正常收件的邮箱地址,点击“Send Test Email”。
- 如果没有插件的测试功能,可以安装“Check & Log Email”插件,或者在后台随便找一个“忘记密码”功能,触发一封重置邮件。
- 检查收件箱和垃圾箱。如果收到邮件,说明WordPress邮件发送配置成功。如果没收到,按上面的避坑说明逐一排查。
从准备参数到发送测试,整个WordPress邮件发送配置过程不超过10分钟。
建议你完成设置后,定期检查授权码是否有效,并保持插件更新。
如果在操作中遇到其他报错,欢迎在评论区留言描述你的环境和提示信息,我们一起解决。