---
title: "WordPress 无法发送邮件？SMTP、DNS、表单、WooCommerce 与送达率修复指南（2026）"
description: "用一份分步清单排查 WordPress 邮件发不出去的问题，覆盖 SMTP、DNS 身份验证、联系表单、WooCommerce、密码重置、日志与送达率。"
url: https://tajo.io/zh-cn/blog/wordpress-not-sending-email/
markdown: https://tajo.io/zh-cn/blog/wordpress-not-sending-email.md
lang: zh-CN
author: "Set Noa"
author_url: https://tajo.io/zh-cn/set-noa/
published: 2026-03-26
updated: 2026-08-06
alternates: {en-US: /blog/wordpress-not-sending-email.md, bg-BG: /bg/blog/wordpress-not-sending-email.md, cs-CZ: /cz/blog/wordpress-not-sending-email.md, de-DE: /de/blog/wordpress-not-sending-email.md, da-DK: /dk/blog/wordpress-not-sending-email.md, es-ES: /es/blog/wordpress-not-sending-email.md, fr-FR: /fr/blog/wordpress-not-sending-email.md, el-GR: /gr/blog/wordpress-not-sending-email.md, hi-IN: /hi/blog/wordpress-not-sending-email.md, id-ID: /in/blog/wordpress-not-sending-email.md, hr-HR: /hr/blog/wordpress-not-sending-email.md, hu-HU: /hu/blog/wordpress-not-sending-email.md, it-IT: /it/blog/wordpress-not-sending-email.md, ja-JP: /jp/blog/wordpress-not-sending-email.md, ko-KR: /kr/blog/wordpress-not-sending-email.md, ar-SA: /ar/blog/wordpress-not-sending-email.md, nl-NL: /nl/blog/wordpress-not-sending-email.md, no-NO: /no/blog/wordpress-not-sending-email.md, pl-PL: /pl/blog/wordpress-not-sending-email.md, pt-BR: /pt/blog/wordpress-not-sending-email.md, ro-RO: /ro/blog/wordpress-not-sending-email.md, ru-RU: /ru/blog/wordpress-not-sending-email.md, sv-SE: /se/blog/wordpress-not-sending-email.md, sl-SI: /sl/blog/wordpress-not-sending-email.md, sr-Latn-RS: /sr/blog/wordpress-not-sending-email.md, th-TH: /th/blog/wordpress-not-sending-email.md, tr-TR: /tr/blog/wordpress-not-sending-email.md, ur-PK: /ur/blog/wordpress-not-sending-email.md, vi-VN: /vi/blog/wordpress-not-sending-email.md, sk-SK: /sk/blog/wordpress-not-sending-email.md}
---

[邮件](https://tajo.io/zh-cn/blog/?category=email)

# WordPress 无法发送邮件？SMTP、DNS、表单、WooCommerce 与送达率修复指南（2026）

用一份分步清单排查 WordPress 邮件发不出去的问题，覆盖 SMTP、DNS 身份验证、联系表单、WooCommerce、密码重置、日志与送达率。

WordPress not sending email

WordPress 为什么发不出邮件？

修复 WordPress 邮件的关键是把问题拆开：先确认是哪一类邮件失败，再配置 SMTP 或 API 发信，验证发件域名，添加 SPF、DKIM、DMARC，逐一测试每个表单和 WooCommerce 邮件，最后持续监控日志与垃圾邮件投诉。

[了解更多](https://tajo.io/zh-cn/blog/wordpress-not-sending-email/#%E5%BF%AB%E9%80%9F%E8%AF%8A%E6%96%AD)

WordPress 发不出邮件时，故障可能出现在四个环节：WordPress 根本没有生成这封邮件，某个插件拦截或错误地转发了它，主机拒绝发送，或者收件方服务商拒收、过滤了它。

正确的第一步不是“换一个联系表单插件试试”。先确认到底是哪一类邮件失败，再着手搭建规范的发信配置，配合经过身份验证的 DNS 和可重复执行的测试。

## 快速诊断

在动手换插件之前，先用下表缩小问题范围。

| 症状 | 可能原因 | 优先检查 |
| --- | --- | --- |
| 密码重置邮件始终收不到 | WordPress 发信通道本身有问题 | 用 SMTP 插件发一封测试邮件 |
| 表单提示已发送，但收件箱是空的 | 表单收件人或发信配置问题 | 检查表单通知设置和邮件日志 |
| WooCommerce 订单邮件缺失 | 模板被禁用、收件人错误或发件人问题 | 检查 WooCommerce 邮件设置并下一笔测试订单 |
| 邮件进入垃圾箱 | 身份验证薄弱或信誉不佳 | 检查 SPF、DKIM、DMARC、发件域名与内容 |
| 部分邮件能发出，另一部分失败 | 特定插件的通知设置有问题 | 分别测试每一类插件 |
| 管理员邮件正常，客户邮件失败 | 收件方过滤、模板或抑制名单 | 查看日志和客户邮箱地址状态 |

不要只依赖一次测试。密码重置、联系表单、WooCommerce、管理员通知，以及任何会发信的会员或预约插件，都要逐一测试。

## WordPress 邮件失败的原因

WordPress 使用 `wp_mail()`，在没有插件改变路由的情况下，它通常把邮件交给服务器的邮件函数处理。这条默认通道之所以不可靠，原因包括：

- 主机可能拦截或限速 PHP 邮件。
- 邮件可能没有用发件域名做身份验证。
- 共享主机的 IP 信誉可能较差。
- 发件地址可能与网站域名不一致。
- 如果没有开启日志，失败往往是静默的。
- 多个插件可能同时覆盖同一套邮件行为。
- DNS 记录可能缺失或不对齐。

长期有效的做法是通过专门的 SMTP 或 API 发信服务发送，并完成域名验证。

## 第一步：确认失败的类型

先做一张简短的测试矩阵。

| 测试项 | 意义 |
| --- | --- |
| 密码重置 | 验证 WordPress 核心邮件 |
| 新用户通知 | 验证管理员与账号类邮件 |
| 联系表单提交 | 验证表单插件的通知 |
| WooCommerce 测试订单 | 验证客户与商家订单邮件 |
| 订单失败或退款 | 验证不常触发的交易类模板 |
| SMTP 插件测试邮件 | 验证与发信服务的连接 |

逐条记录每封邮件是送达、丢失、延迟还是进了垃圾箱。这能告诉你问题是全局性的，还是只出现在某一个插件上。

## 第二步：安装 SMTP 或 API 发信插件

可以使用 WP Mail SMTP 或其他口碑良好的 WordPress 发信插件。插件应当能把 WordPress 邮件路由到 Brevo、SMTP.com、SendGrid、Mailgun、Gmail、Amazon SES，或其他支持身份验证发信的服务商。

基础配置流程：

1. 安装发信插件。
2. 选择插件支持的服务商。
3. 用 API 密钥、OAuth 或 SMTP 凭据完成连接。
4. 设置使用自有域名的发件邮箱。
5. 设置与站点或品牌一致的发件人名称。
6. 确认不会破坏其他插件后，再开启强制发件人设置。
7. 发送一封测试邮件。

相比原始的 SMTP 凭据，API 发信通常更容易监控，因为它能提供更清晰的错误信息和事件日志。只要配置正确，SMTP 同样可用。

## 第三步：验证发件人与 DNS 身份验证

绝大多数“WordPress 邮件进垃圾箱”的问题，归根结底是身份问题。

需要检查：

- 发件域名是你掌控的同一域名或已验证的子域名。
- SPF 中包含了负责发送 WordPress 邮件的服务。
- 发信服务已启用 DKIM。
- DMARC 已存在，并且与你的发件配置对齐。
- 商务邮件的发件地址不是 Gmail、Yahoo 这类免费邮箱。
- 回复地址有人查看。

添加 DNS 记录后，等待生效再重新测试。DNS 面板显示正确并不等于真的生效，要看真实邮件在收件箱邮件头中的验证结果。

## 第四步：修复联系表单邮件

联系表单插件往往有自己独立的通知设置。

检查清单：

- 确认表单通知已启用。
- 确认“收件人”地址正确。
- 使用自有域名的发件地址，而不是访客的邮箱。
- 把访客邮箱放进 Reply-To 字段。
- 检查必填字段和反垃圾设置。
- 测试期间关闭重复通知。
- 用非管理员邮箱做一次测试。

如果 SMTP 测试通过、联系表单邮件却失败，问题通常出在表单配置上，而不是发信服务。

## 第五步：修复 WooCommerce 邮件

WooCommerce 针对不同事件使用不同的模板和收件人。

需要检查：

- 打开 WooCommerce 邮件设置，确认每一封必要邮件都已启用。
- 检查管理员邮件的收件人字段。
- 用测试商品下一笔真实的测试订单。
- 测试处理中、已完成、已退款、失败等订单状态。
- 确认访客结账邮件和账号邮件都能发出。
- 检查是否有其他插件改写了 WooCommerce 邮件模板。
- 查看日志中失败的 API 或 SMTP 响应。

如果客户收不到订单邮件，这就是收入和客服层面的问题。先修好交易类邮件的投递，再去启动营销活动。

## 第六步：解决邮件进垃圾箱

垃圾箱问题通常需要多项改进叠加，不存在某个一键生效的开关。

从这些做起：

- 用 SPF、DKIM、DMARC 完成域名身份验证。
- 保持发件人名称和发件地址一致。
- 发送量较大时，避免使用从未预热过的域名。
- 移除失效链接、短链服务和有误导性的主题行。
- 常规 WordPress 通知中尽量不要带附件。
- 在发信平台上监控退信与投诉信号。
- 如果发送量或信誉差异明显，把营销邮件与 WordPress 交易邮件分开发送。

如果邮件直接关系到收入，就不要在第一次成功进收件箱之后放松垃圾箱测试。主题、插件、主机、DNS 或发信服务发生变化后，都要重新测试。

## 第七步：排查插件冲突与主机限制

如果发信服务正常，WordPress 却时好时坏，就需要隔离冲突。

安全的排查流程：

1. 确认备份是最新的。
2. 临时停用其他与邮件相关的插件。
3. 只保留 SMTP 或 API 发信插件处于启用状态。
4. 测试 WordPress 核心邮件。
5. 测试联系表单。
6. 测试 WooCommerce。
7. 逐个重新启用插件。

同时检查主机层面的限制。有些托管主机会封锁出站 SMTP 端口，或者要求使用指定的邮件服务。如果 SMTP 凭据失败而 API 发信正常，原因很可能就是主机限制。

## 常见错误与对应处理

| 错误或表现 | 处理方式 |
| --- | --- |
| 身份验证失败 | 重新生成凭据，确认用户名、密码、API 密钥或 OAuth 连接 |
| 连接超时 | 检查主机防火墙、SMTP 端口、SSL/TLS 模式，或改用 API 发信 |
| 发件人未验证 | 在邮件服务中验证发件域名或发件地址 |
| DKIM 校验失败 | 重新复制 DKIM 的 DNS 记录并等待生效 |
| SPF 校验失败 | 把发信服务加入 SPF，并避免出现多条 SPF 记录 |
| DMARC 校验失败 | 让发件域名与 SPF 或 DKIM 对齐，并复核策略 |
| 表单能发给管理员，发不给用户 | 检查用户通知模板、合并字段和抑制名单 |
| WooCommerce 管理员邮件缺失 | 检查模板启用状态和收件人字段 |

## 修复之后的监控

WordPress 邮件可能在插件更新、DNS 修改、域名变更或服务商切换之后再次出问题。

需要监控：

- SMTP 或 API 错误日志。
- 退信率。
- 垃圾邮件投诉。
- 失败的 WooCommerce 邮件。
- 联系表单通知失败。
- 与密码重置相关的客服工单。
- 如果你会查看，还包括 DMARC 报告。

对重要站点，设置每月一次的定期测试。电商站点则应在每次重大 WooCommerce 或结账变更后立刻测试。

## 上线前的 QA 清单

在宣布问题已解决之前，逐项确认：

- 密码重置邮件进入收件箱。
- 新用户邮件正常送达。
- 联系表单的管理员通知正常送达。
- 如果启用了访客确认邮件，它也能送达。
- 管理员和客户都能收到 WooCommerce 订单邮件。
- 退款、订单失败、订单完成邮件均正常。
- 发件域名通过 SPF 和 DKIM 校验。
- DMARC 记录已存在。
- 未使用的发信插件已停用。
- 日志中没有反复出现的失败记录。
- 客服团队知道去哪里查看邮件日志。

## 常见问题

**WordPress 为什么发不出邮件？**

WordPress 邮件失败，通常是因为默认的 PHP 邮件通道没有经过身份验证，被主机拦截、配置错误，或者被收件方服务商过滤。插件冲突、发件地址不正确、DNS 问题以及联系表单设置，同样会中断投递。

**如何修复 WordPress 的邮件送达？**

安装一款可靠的 SMTP 或 API 发信插件，连接到已验证的发件人，使用自有域名的发件地址，添加 SPF、DKIM、DMARC 记录，然后测试密码重置、联系表单和 WooCommerce 邮件，并持续查看日志中的失败记录。

**WordPress 邮件为什么进垃圾箱？**

常见原因包括：发件域名未做身份验证、发信服务与 DNS 记录不对齐、内容看起来可疑、域名信誉较差，或者多个插件在用不一致的方式发信。

**WordPress 的邮件功能默认就是坏的吗？**

并非总是如此，但默认发信通道很脆弱。它取决于主机环境、服务器邮件配置、发件人身份和收件方的过滤策略。生产站点应当使用专门的发信服务。

**该用 SMTP 还是 API 发信？**

两者都可行。API 发信通常配置更清晰、日志更完整，而 SMTP 的兼容性更广。选择你的插件和邮件服务商支持最好的那一种，然后充分测试。

**可以用 Gmail 地址发信吗？**

商业网站请使用自有域名下的地址。用免费邮箱发送站点邮件，会带来身份验证和信任方面的问题。

**SMTP 测试通过了，为什么 WooCommerce 邮件还是失败？**

SMTP 连接可能完全正常，问题出在 WooCommerce 的模板、收件人、订单状态触发条件，或者另一个插件的配置上。请单独测试 WooCommerce 相关的邮件事件。

## 相关文章

### [WordPress 邮件订阅指南：订阅表单、同意、欢迎邮件与列表增长（2026）](https://tajo.io/zh-cn/blog/wordpress-email-subscription-guide/)

2026年3月26日 · 6 分钟阅读

13 个章节

### [我的邮件为什么会被判为垃圾邮件？12个真正有效的解决方案（2026年）](https://tajo.io/zh-cn/blog/why-emails-going-to-spam/)

2026年3月25日 · 3 分钟阅读

13 个章节

### [邮件 API 完整指南：如何在应用中通过程序发送邮件（2026）](https://tajo.io/zh-cn/blog/email-api-guide/)

2026年3月25日 · 9 分钟阅读

15 个章节
