Skip to content

域名、DNS 与邮件基础设施系统文档

作用: WellChina 当前生产环境下域名解析、邮件收发、凭证管理的单一事实来源(Single Source of Truth)。新开发者通过此文档即可理解系统全貌。 适用版本: 2026-04-17 起 关联文档:

  • docs/dns-email-migration-plan.md — 迁移过程的完整操作手册(如何从 0 搭起来)
  • docs/performance-monitoring-plan.md — 全球访问性能与监控

1. 系统总览

┌──────────────────────────────────────────────────────────────────┐
│                                                                    │
│  USER LAYER                                                        │
│  ├─ 访客浏览器         → HTTPS 访问 wellchina.top                  │
│  ├─ 陌生发件方         → 邮件投递到 *@wellchina.top                │
│  └─ 运营者 Gmail       → 阅读转发邮件 + Send As 回信               │
│                                                                    │
│  ─────────────────────────────────────────────────────────────── │
│                                                                    │
│  DNS / 路由层                                                      │
│  ├─ Namesilo           → 域名产权登记(只有续费用途)              │
│  └─ Cloudflare         → DNS 权威解析 + Email Routing 收件转发     │
│                          (当前所有记录灰云 / DNS Only)           │
│                                                                    │
│  ─────────────────────────────────────────────────────────────── │
│                                                                    │
│  应用层                                                            │
│  ├─ Vercel             → Next.js 生产部署(edge: 新加坡 / 东京)   │
│  ├─ Supabase           → PostgreSQL + Auth + Storage (ap-ne-1)    │
│  └─ Resend             → 邮件发送 SMTP 集群 (ap-northeast-1)      │
│                                                                    │
└──────────────────────────────────────────────────────────────────┘

2. 组件职责 & 费用

组件角色账号 / 项目年费
Namesilo域名注册商(产权登记)wellchina.top~¥20
CloudflareDNS 权威 + Email Routing + 未来 CDN/WAFFree plan$0
Resend邮件发送(SMTP + REST API)Tokyo region$0(3k/月内)
Gmail读写邮件界面(+ Send As 代发身份)运营者个人号$0
VercelNext.js 部署Hobby plan$0
Supabase数据库 + Auth + Storagehsmxrctokwgdxauhirec$0

全栈年成本 ≈ 20 元人民币(仅域名续费)。

3. DNS 记录清单(生产现状)

所有记录在 Cloudflare 管理。下表是完整 zone 状态。

网站 / 应用

TypeNameValueProxy作用
Awellchina.top216.198.79.1🔘 灰云Vercel apex(307 → www;canonical 为 www)
CNAMEwww6fad2b69a69b422b.vercel-dns-017.com🔘 灰云Vercel www(200 OK,canonical / schema / sitemap / hreflang 全部指向此)

邮件 — 收件(Cloudflare Email Routing)

TypeNameValuePriority作用
MXwellchina.toproute1.mx.cloudflare.net79Primary MX
MXwellchina.toproute2.mx.cloudflare.net89Secondary
MXwellchina.toproute3.mx.cloudflare.net87Tertiary
TXTwellchina.topv=spf1 include:_spf.mx.cloudflare.net ~allCloudflare SPF(根域)
TXTcf2024-1._domainkeyv=DKIM1; h=sha256; k=rsa; p=...Cloudflare DKIM

邮件 — 发件(Resend)

TypeNameValue作用
MXsendfeedback-smtp.ap-northeast-1.amazonses.com (priority 10)Resend 退信域
TXTsendv=spf1 include:amazonses.com ~allResend SPF(子域,不与根域冲突)
TXTresend._domainkeyp=MIGfMA0GCSqGSIb3D...Resend DKIM

邮件 — DMARC 策略

TypeNameValue作用
TXT_dmarcv=DMARC1; p=none; rua=mailto:dmarc@wellchina.top; pct=100;观察模式,聚合报告进 Gmail

DMARC 策略演进

当前 p=none(观察期)。演进路径:

阶段策略触发条件
当前p=none刚部署,收集数据 2-4 周
下一步p=quarantine2-4 周报告显示合法邮件 100% DMARC pass
终态p=rejectquarantine 稳定 4 周后升级

4. 目标邮箱地址表

地址方向终点当前路由状态
hello@wellchina.top运营者 Gmail(Cloudflare 转发)✅ Active
support@wellchina.top运营者 Gmail✅ Active
dmarc@wellchina.top运营者 Gmail(收 DMARC 报告)✅ Active
no-reply@wellchina.topResend 代发(没人能回信)✅ Active
*@wellchina.top Catch-allDisabled防垃圾,按需启用

5. 邮件流(收发路径图解)

5.1 出站(系统通知类邮件)

Next.js API / Supabase Auth
        ↓ 调用
  Resend REST API / SMTP
  (smtp.resend.com:465)
        ↓ 发送
  Amazon SES (Tokyo)
        ↓ 投递
  收件人邮件服务器
        ↓ 验证
  ├─ SPF: send.wellchina.top → pass ✅
  ├─ DKIM: resend._domainkey → pass ✅
  └─ DMARC: relaxed align → pass ✅

发件人显示WellChina <no-reply@wellchina.top>Return-Pathbounce@send.wellchina.top(Resend 退信域)

5.2 入站(外部人发给 hello@/support@)

外部发件方
        ↓ 查 wellchina.top MX 记录
  Cloudflare MX (route1/2/3.mx.cloudflare.net)
        ↓ 收到邮件,查 Email Routing 规则
  匹配 "hello@" / "support@" / "dmarc@"
        ↓ 转发到配置好的目标
  运营者 Gmail 收件箱

能看到的元数据

  • Gmail headers → Received-From: route*.mx.cloudflare.net
  • SPF/DKIM/ARC/Spam 状态在 Cloudflare Activity log 里可查

5.3 Send As(运营者在 Gmail 里以 hello@ 身份回信)

Gmail 写新邮件
  From: WellChina <hello@wellchina.top>
        ↓ 经由 Gmail 配置的 SMTP
  smtp.resend.com:465 (auth: resend / API key)
        ↓ 发送(使用 wellchina.top 的 DKIM 签名)
  收件人邮件服务器

对收件人而言,邮件来源看不出 Gmail 的影子——完整呈现 hello@wellchina.top 身份。

5.4 Supabase Auth(注册验证、密码重置等)

Supabase Auth 触发事件
  (user signup / password reset / magic link)
        ↓ 配置了 Custom SMTP
  smtp.resend.com:465
        ↓ 以 no-reply@wellchina.top 发出
  用户邮箱

Supabase Dashboard → Authentication → Emails → SMTP Settings 配置位置

6. 凭证清单

凭证存储位置用于轮换频率
Resend API Key (re_xxx)Vercel env RESEND_API_KEY代码中 Resend 调用有泄露风险时立即
本地 .env(已 git 追踪)本地开发同步
Gmail Send As SMTP password(hello@support@Send As 代发同步
Supabase Dashboard → Auth → SMTP passwordAuth 邮件同步
Supabase Service Role KeyVercel env + .env服务端 Supabase 操作季度轮换
Database URL + passwordVercel env + .envPrisma 数据库连接Supabase 侧轮换时同步
Cloudflare Account账号邮箱 + 2FADNS / Email Routing 管理
Gmail Account账号邮箱 + 2FA读写邮件
Namesilo Account账号邮箱域名续费

轮换 Resend API Key 的标准流程

  1. Resend Dashboard → API Keys → Create 新 key
  2. 同步更新 4 处(顺序随意但全部要更新):
    • Vercel 生产 env RESEND_API_KEY → 触发 redeploy
    • 本地 .env RESEND_API_KEY → 重启 dev server
    • Gmail Settings → Accounts → Send mail as → hello@support@ 各编辑 SMTP password
    • Supabase Dashboard → Auth → Emails → SMTP Settings → 更新 password
  3. 都确认生效后 Resend Dashboard revoke 旧 key
  4. 发一封测试邮件验证链路

7. 日常运维操作

加一个新邮箱地址(如 billing@wellchina.top

  1. Cloudflare → wellchina.top → Email → Email Routing → Routes → Create address
  2. Custom address: billing@wellchina.top
  3. Action: Send to → 选已验证的 Destination(运营者 Gmail)
  4. Save,立即生效
  5. (可选)Gmail → Settings → Accounts → Send mail as → 加 billing@wellchina.top(SMTP 同 Resend)

加一个 DNS 记录(例如外部服务验证)

  • Cloudflare → wellchina.top → DNS → Records → Add record
  • 邮件相关记录永远用灰云(DNS Only),非邮件记录视情况

配新服务的环境变量

  • Vercel → Settings → Environment Variables(Production)
  • NEXT_PUBLIC_* 变量是 build-time baked,加完必须 redeploy
  • 其他服务端变量 runtime 生效,redeploy 也不会坏事

网站紧急宕机处理

  1. 访问 https://check-host.net 确认是否全球不通(排除本地 DNS 劫持)
  2. Vercel Dashboard → Deployments → 最近 build 是否 Failed
  3. Cloudflare → DNS → 核对 A + CNAME 记录没被误删
  4. 如果 Cloudflare 橙云把流量搞坏,切灰云:
    • DNS 页面找 A 记录,点 Proxy status 开关切成 DNS Only
  5. 实在搞不定,Vercel Dashboard → Deployments → Previous → Promote to Production 回滚

8. 监控与健康检查

定期查看的三个 Dashboard

Dashboard频率关注指标
Resend → Logs每周发送成功率、退信率(< 2%)
Cloudflare → Email Routing → Activity有异常时SPF/DKIM/Spam 状态,转发是否失败
Google Postmaster Tools每 2 周Gmail 用户对 wellchina.top 的投递分类

每日 DMARC 报告(已订阅)

  • 发件人: 各大邮件服务商(Gmail / Yahoo / Outlook...)
  • 收件地址: dmarc@wellchina.top
  • 内容: 每日 XML,统计过去 24h 的 DMARC 对齐情况
  • 阅读建议: 前 2 周积累数据后再看,用 dmarc.postmarkapp.com 等工具可视化

命令行健康检查

以下命令必须用 DoH 绕过本地 DNS 劫持(国内运营商常劫持):

bash
# 查 apex A 记录
curl -s "https://cloudflare-dns.com/dns-query?name=wellchina.top&type=A" \
  -H "accept: application/dns-json" | jq

# 查所有 TXT(SPF + DKIM + 验证类)
curl -s "https://cloudflare-dns.com/dns-query?name=wellchina.top&type=TXT" \
  -H "accept: application/dns-json" | jq '.Answer[].data'

# 查 MX 记录
curl -s "https://cloudflare-dns.com/dns-query?name=wellchina.top&type=MX" \
  -H "accept: application/dns-json" | jq '.Answer[].data'

# 查 DMARC 策略
curl -s "https://cloudflare-dns.com/dns-query?name=_dmarc.wellchina.top&type=TXT" \
  -H "accept: application/dns-json" | jq

9. 故障排查速查表

症状最可能原因定位步骤
访问 wellchina.top 显示 Vercel 占位页www 的 CNAME 还没 verifiedVercel Domains 页 Refresh,或等 DNS 传播
访问返回 525/526 SSL 错误Cloudflare 代理状态是橙云,Vercel SSL 冲突DNS 页面把 A/CNAME 切灰云
发邮件进收件人垃圾箱新域/.top 低信誉让对方标 "Not spam",等积累;2-4 周后升级 DMARC 到 quarantine
Supabase 不发验证邮件SMTP 密码填错或 API key 过期Supabase Dashboard → Auth → Emails → 发一封 test
Gmail Send As 验证链接收不到Cloudflare Email Routing 的 hello@ 规则未启用Cloudflare → Email Routing → Routes 检查
DMARC 报告发不过来dmarc@ 转发规则没配Cloudflare → Email Routing → Routes 加一条
联系表单提交 201 但没邮件本地 dev .envRESEND_API_KEY日志里看 RESEND_API_KEY not configured
中国大陆访问慢Vercel 无国内节点,结构性问题启用 Cloudflare 橙云(需配 SSL Full Strict)或用阿里云 DCDN
.env 变更后 dev server 行为没变NEXT_PUBLIC_* 需 restartlsof -ti:3017 | xargs kill 后重启 dev server

10. 未来演进路线

近期(1-3 个月)

  • DMARC 从 p=nonep=quarantinep=reject
  • 注册 Google Postmaster Tools 拿真实投递反馈
  • 考虑启用 Cloudflare 橙云改善中国访问(需配 SSL Full Strict)

中期(3-6 个月)

  • 邮件模板多语言化(当前英文)—— 利用 Supabase Auth 模板的 locale 变量
  • 联系表单邮件加 List-Unsubscribe 头(营销类邮件合规)
  • 加 BIMI 记录展示品牌 logo(需要 VMC 证书,~$1k/年,非急需)

长期(6 个月后,业务成熟)

  • 考虑迁到 .com 品牌域名 —— .top TLD 结构性信誉低于 .com,哪怕 SPF/DKIM/DMARC 全绿,垃圾箱倾向无法彻底消除
  • 如果选择迁移,流程大致是:注册新 .com → Cloudflare 加一个 zone → Resend + Email Routing 加新域 → Vercel 加新域 → 301 redirect 旧域 → FROM_EMAIL 等配置切换。旧 wellchina.top 至少保留 1-2 年做跳转。

11. 关键决策记录(Architecture Decision Records)

ADR-1:DNS 托管选 Cloudflare 而非留 Namesilo

  • 决策时间: 2026-04-17
  • 原因: Namesilo 无免费邮件转发;Cloudflare 提供免费 Email Routing + 未来可切换 CDN/WAF
  • 代价: 多一次 nameserver 切换,DNS 管理从 Namesilo 移到 Cloudflare

ADR-2:所有 DNS 记录保持灰云(DNS Only),不启用橙云代理

  • 决策时间: 2026-04-17
  • 原因: Vercel 自带 CDN + SSL 管理,橙云代理会产生 SSL 双证书、缓存冲突等问题
  • 触发切换条件: 中国大陆 p75 LCP > 2.5s 且业务稳定,才考虑走橙云

ADR-3:发送用 Resend、接收用 Cloudflare Email Routing,不用 Zoho/Google Workspace

  • 决策时间: 2026-04-17
  • 原因: Resend 代码集成友好、Cloudflare 免费且 UI 现代;Zoho 免费但投递率略逊、Google Workspace 付费过早
  • 代价: 邮件读写依赖 Gmail Send As,若 Gmail 账号出问题影响运营

ADR-4:NEXT_PUBLIC_SITE_URL 统一,删除 NEXT_PUBLIC_BASE_URL

  • 决策时间: 2026-04-17
  • 原因: 原代码有两个含义相同的 env var,归一化降低维护成本
  • 迁移: src/lib/email.tsNEXT_PUBLIC_BASE_URL 引用已改成 NEXT_PUBLIC_SITE_URL

ADR-5:.env 纳入 git 版本控制(私有仓库)

  • 决策时间: 2026-04-17
  • 原因: 当前是私有仓库,只有 owner 使用,便于新机器快速起步;.env.local 保留 gitignore 作为本地覆盖机制
  • 风险: 仓库公开或引入协作者前必须 rotate 所有凭证 + 恢复 .env* gitignore

ADR-6:canonical 从 apex 切到 www(https://www.wellchina.top

  • 决策时间: 2026-04-26
  • 背景: Vercel 默认把 apex wellchina.top 307 redirect 到 www.wellchina.top;原 NEXT_PUBLIC_SITE_URL=https://wellchina.top 导致所有 schema / sitemap / hreflang / llms.txt / OG URL 指向 apex,而 apex 不返回 200
  • 触发: GSC URL Inspection 报 pageFetchState: REDIRECT_ERROR——Google 抓取 8 个 locale URL 全部失败索引
  • 决策: NEXT_PUBLIC_SITE_URL 改为 https://www.wellchina.top,让 canonical 与实际返回 200 的 URL 对齐;保留 Vercel 默认 apex→www 307 行为不动
  • 影响范围: 重新部署后 build-time 烘焙的 BASE_URL 全量更新(schema、sitemap、hreflang、llms.txt、邮件模板、OG);GSC 重提交 8 个 www URL
  • 代价: 用户输入 wellchina.top 仍然能到,多一跳 307 不影响 UX;search 索引以 www 为准

12. 相关文档 & 外部资源

仓库内

  • docs/dns-email-migration-plan.md — 迁移 Phase 1-7 完整操作步骤
  • docs/performance-monitoring-plan.md — 全球访问性能监控
  • CLAUDE.md — 项目环境变量简表
  • .env.example — 环境变量模板

服务商文档

邮件协议规范

WellChina 内部文档 · 基于 VitePress