很多WordPress站长在搭建好网站后,都会添加一个联系表单页面,方便访客留言反馈。但是经常会遇到一个头疼的问题:访客提交了表单,但站长却收不到邮件通知。
这通常是因为WordPress默认使用PHP的mail()函数发送邮件,而这个函数在很多主机环境下无法正常工作或者容易被邮箱服务商拦截标记为垃圾邮件。
今天我将详细讲解如何正确配置WordPress的邮件发送功能,让您的联系表单能够稳定地接收访客留言。
一、问题原因分析
为什么默认情况下收不到邮件?
1. PHP mail()函数限制
- 大部分虚拟主机禁用或限制了PHP的mail()函数
- 即使能发送,也容易进入垃圾箱
2. 没有配置SMTP认证
- 现代邮箱服务(QQ邮箱、163邮箱、Gmail等)都需要SMTP认证
- 未认证的邮件会被直接拒绝或标记为垃圾邮件
3. 发件人地址问题
- WordPress默认使用wordpress@您的域名作为发件人
- 这个地址不存在,会导致退信或被拦截
解决方法:通过安装WP Mail SMTP插件 + 配置QQ邮箱SMTP服务,实现专业的邮件发送功能。
二、准备工作
1. 需要用到的工具/插件:
- WP Mail SMTP插件(免费版即可)
- WPForms插件(或其他表单插件)
- 一个邮箱账号(用来作为发件邮箱)
2. 邮箱准备:
- 确保您有一个邮箱账号(后续教程以QQ邮箱为例)
三、核心步骤一:开启QQ邮箱SMTP服务并获取授权码
这是最关键的一步!请仔细操作。
Step 1:登录QQ邮箱
用浏览器访问 https://mail.qq.com ,登录您的QQ邮箱。
Step 2:进入账号设置
点击顶部的【设置】→ 选择【账户】标签页(注意不是”通用”设置)
⚠️ 常见误区:很多人在”通用”设置里找POP3/SMTP,那里是没有的!必须在”账户”设置中!
Step 3:开启POP3/SMTP服务
- 在”账户”设置页面往下滚动
- 找到 “POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务” 这一部分
- 点击 “开启” 按钮(对应POP3/SMTP服务那一行)
Step 4:身份验证
系统会要求您进行身份验证。
Step 5:获取授权码
验证成功后,页面会显示一个16位的授权码,类似这样:abcdefghijklmnop
Step 6:记录关键信息
请记下以下信息(后面配置要用):
| 信息项 | 您的值 | 说明 |
|---|---|---|
| SMTP服务器 | smtp.qq.com |
固定值 |
| SMTP端口 | 465 |
SSL加密端口 |
| 加密方式 | SSL |
必须选择SSL |
| 发件邮箱 | xxx@qq.com |
您的QQ邮箱 |
| SMTP密码/授权码 | (刚才获取的16位码) | 不是QQ密码! |
四、核心步骤二:安装并配置WP Mail SMTP插件
Step 1:安装插件
- WordPress后台 → 【插件】→【安装插件】
- 搜索框输入:
WP Mail SMTP - 找到由 WPForms 开发的那个(有超过200万+活跃安装量)
- 点击【立即安装】→【激活】
Step 2:进入插件设置
激活后,左侧菜单会出现 【WP Mail SMTP】 或 【邮件】 选项,点击进入设置向导。
Step 3:配置邮件常规设置
在向导的第一步”Mail Configuration”(邮件配置):
From Email(发件人邮箱):
您的QQ邮箱地址
填写您的QQ邮箱地址(必须和后面SMTP的一致)。
From Name(发件人名称):
这个名称会显示在收件人的邮件里,显示为”谁发的”。可以填写您的网站名称。
💡 发件人名称格式建议:
网站名称– 简洁明了网站名称 | 一句话描述– 更专业您的名字 - 网站名称– 个人品牌化
Step 4:选择Mailer(邮件发送方式)
选择 “Send all WordPress emails via SMTP”(使用SMTP发送所有邮件)。
Step 5:配置SMTP详细信息
SMTP Host(SMTP主机):填写smtp.qq.com
Encryption(加密方式):选择 SSL(不是TLS!QQ邮箱必须用SSL)
SMTP Port(SMTP端口):自动填充为 465(如果选择了SSL的话)。如果显示的是其他数字(如587),手动改为 465。
Auto TLS(自动TLS):保持关闭(因为我们用的是SSL,不需要Auto TLS)
Authentication(认证):确保开关是 开启(On) 状态
SMTP Username(SMTP用户名):完整的QQ邮箱地址
SMTP Password(SMTP密码):这里粘贴刚才获取的16位授权码
Step 6:完成设置
点击底部的 【Save Settings / 保存设置】 按钮。如果看到绿色的成功提示,恭喜您配置成功了!
五、测试邮件发送功能
方法一:使用插件的Email Test功能
- 在WP Mail SMTP设置页面
- 找到 【Email Test】 标签/选项卡
- 在 “Send To” 输入框填写:您自己的QQ邮箱
- 点击 【Send Email / 发送邮件】 按钮
等待几秒钟,然后去QQ邮箱查看是否收到测试邮件。
如果没收到,请看下面的故障排查部分。
方法二:通过联系表单实际测试
- 访问您网站的联系表单页面
- 填写测试信息
- 提交表单
- 去邮箱查看是否收到通知邮件
六、核心步骤三:配置WPForms表单通知
即使SMTP配好了,还需要告诉表单:”收到留言后,把邮件发给谁?”
Step 1:编辑联系表单
- WordPress后台 → 【WPForms】→【All Forms】(所有表单)
- 找到您的联系表单(如”Contact Form”),点击 【编辑】
Step 2:进入通知设置
在表单编辑器界面:
- 点击左侧菜单栏的【设置】(齿轮图标,不是”字段”!)
- 在设置选项中找到并点击 【Notifications / 通知】
⚠️ 注意:是在”设置”里找”通知”,不是在”字段”里面!
Step 3:配置通知详情
您应该能看到类似这样的设置界面:
Enable Notification(启用通知):确保开关是 开启(蓝色) 状态。
Send To Email(发送到/收件人):{admin_email} ,或者直接填写:您的邮箱@qq.com
Email Subject Line(邮件主题):
新网站留言:{field_id="1"}
建议格式:新网站留言:{姓名字段},这样一眼就知道是谁留的言。
From Name(发件人名称)
💡 提示:可能会显示黄色警告说”此设置被WP Mail SMTP覆盖”,忽略它,这是正常的!
From Email(发件人邮箱)
Reply To(回复至):
{field_id="3"}
选择Email字段的智能标签。这样您收到邮件后可以直接”回复”,就会回复给访客的邮箱。
Message(消息内容/邮件正文):
您好!您的网站有一条新的留言:
姓名:{field_id="1"}
邮箱:{field_id="3"}
留言内容:{field_id="4"}
---
发送时间:{date format="Y-m-d H:i:s"}
💡 智能标签说明:
{field_id="1"}= 第一个字段(通常是姓名){field_id="3"}= 第三个字段(通常是邮箱){field_id="4"}= 第四个字段(通常是留言内容){date}= 当前日期时间
具体ID号可能不同,点击字段名旁边的 { } 图标可以插入正确的智能标签。
Step 4:保存表单
点击右上角的 【保存】 按钮(橙色按钮)。
七、关于”访客邮箱”的常见疑问
Q: 访客填写的邮箱需要配置SMTP吗?
A: 不需要!完全不需要!
这是一个常见的误解。让我解释清楚:
邮件发送流程:
访客在表单填写 test@example.com
↓
WordPress网站(您这边)
↓
通过您配置的SMTP(QQ邮箱)
↓
发送邮件到 您的QQ邮箱
只需要一方配置SMTP
访客邮箱的作用:
- 只是为了让您知道”是谁留的言”
- 以及您可以”回复”那封通知邮件,就会发给访客
- 访客的邮箱不参与发送过程