把邮箱从 SiteGround 搬到 Zoho Mail,顺手点亮 BIMI:三个坑记录一下
给一个做跨境包车业务的客户维护网站,联系表单一直用 Netlify Forms 收集询价请求,通知邮件发到用户自己的 Gmail 一切正常,发到公司自己的邮箱 booking@client-business.com 却总是石沉大海——不是进垃圾箱,是彻底消失。查下去牵出了一整条线:DNS 迁移、SaaS 免费层的隐藏入口,最后还顺手把 BIMI 点亮了。三个坑记录一下。
坑一:DNS 搬去了 Cloudflare,邮件路由却完全没动
网站的 DNS 一开始托管在建站商 SiteGround,后来搬到了用户自己的 Cloudflare 账号——好处很直接:不再依赖建站商的 DNS 面板,且方便后续接 Netlify。搬完之后网站本身一切正常,直到发现联系表单的通知邮件,发到 booking@client-business.com 就是收不到。
先怀疑是表单本身的问题——排查确实揪出一个真 bug(前端 fetch() 把 404 当成了提交成功,用户还以为表单一直在正常工作),修好之后公司邮箱依然收不到通知。用 nslookup 直接查 MX 记录才看清楚:DNS 搬去 Cloudflare 只是换了”域名解析服务商”,MX 记录本身的值完全没变,还是指向 SiteGround 自家的反垃圾网关 mx10/20/30.antispam.mailspamprotection.com——这层网关把邮件直接判定成垃圾,静默隔离,连垃圾箱都不进。
A/CNAME 记录跟着 DNS 一起搬了,MX 记录的值从头到尾没人动过
教训:DNS 托管商 ≠ 邮箱服务商。搬 DNS 只是换了”谁来回答查询”,只要 MX 记录的值不变,邮件路由和它背后的反垃圾网关原样保留——遇到”邮件收不到”先用 nslookup 查 MX,而不是先怀疑代码。
坑二:联系不到 SiteGround 管理员,索性搬家;Zoho 的免费层藏得很深
要解决网关误判,正规做法是找有 SiteGround 后台权限的人去白名单 netlify.com,但这个人联系不上,自己也查不出网关日志里到底发生了什么。折腾了一阵之后决定:不追这个死胡同了,把邮箱整个搬出 SiteGround。
比较了两条路:Cloudflare Email Routing + Gmail「代发」(免费,但本质是转发,收件人回信的链路会绕一圈),vs Zoho Mail 的免费/付费层。客户团队本来就习惯用浏览器登网页邮箱查收邮件,Zoho 免费版的 webmail 体验更贴近现状,选了 Zoho。
真正的坑在注册那一步:Zoho 官网的主流程会把新用户默认导向付费的 Mail Lite 套餐,真正免费的 Mail Free(5 个用户,每人 5GB,不含 IMAP/POP/ActiveSync)只有从免费层专属页面上一个不起眼的”sign up”链接点进去才能选到——首页大按钮压根不会带你过去。
客户自助完成了剩下的迁移:MX 换成 mx.zoho.com/mx2.zoho.com/mx3.zoho.com,SPF、DKIM、DMARC(直接上了 p=quarantine,够严格)都按 Zoho 的指引配置完,当天用 DNS 查询验证生效。
教训:SaaS 的免费层入口经常被刻意藏起来,付费层才是默认流程——先搜”[产品名] free plan sign up”,不要指望首页大按钮会带你去免费版。
坑三:邮箱搬完顺手把 BIMI 点亮——logo 是 JPEG,没有透明通道
DMARC 已经是 p=quarantine,够到了 BIMI(发件人昵称旁边显示品牌 logo 的协议)的门槛,趁手一起做了。
BIMI 要求提供 SVG Tiny 1.2 PS 规格的 logo 文件。手上现成的品牌 badge 是一张 JPEG,四个角是实心黑色方块——JPEG 没有 alpha 通道,没法直接透明化。第一次尝试是找工具手绘一个近似的矢量版本,被客户否掉:“不像我们的 logo”。于是换个思路:写一个小工具,把 JPEG 四角的纯黑像素批量 flood-fill 成白色,再把这张”背景已经洗白”的 raster 图片整个塞进一个 SVG Tiny wrapper 里当内嵌图片——SVG 本身没画一条矢量路径,纯粹是个容器,但对 BIMI 校验器来说,只要是合法的 SVG Tiny 1.2 文件、内容能正常渲染就算数。
发布方式很简单,在 Cloudflare 加一条 TXT 记录:
default._bimi TXT v=BIMI1; l=https://client-business.com/images/bimi-logo.svg;
到这一步还差一件事:Yahoo/AOL/苹果 Mail 只要 DMARC 达标 + BIMI 记录存在就会显示 logo,但 Gmail 额外要求一张 VMC(Verified Mark Certificate)——前提是先注册商标,再花每年 US$1000+ 买 DigiCert/Entrust 的证书。以这个生意目前的规模,这笔钱花下去不划算,直接跳过——Gmail 用户现在还看不到 logo,等规模上去了再重新评估。
教训:不是所有”标准流程走到底”都值得做。BIMI 本身免费且立刻在 Yahoo/AOL/Apple Mail 生效,但 Gmail 那一段的 VMC 是明显的成本收益不对等,跳过比硬做更划算。
写在最后
三个坑串起来其实是一条线:DNS 迁移不等于邮件迁移,SaaS 的免费层常常故意藏起来,“完整合规”里也可能藏着一段不值得追的成本。以后再遇到”邮件收不到”这类问题,会先 nslookup 查 MX、再看反垃圾网关,而不是先怀疑代码或域名本身。