关键词
- 无限邮箱
- 域名邮箱
- 临时邮箱
- cloudflare
- 企业邮箱
- Mail Exchange 记录( DNS,MX , SPF 记录)
- SMTP 协议邮件服务器
- resend
- 云服务器
前言
电子邮箱是我们日常生活中不可或缺的工具,平时用来注册各种服务、接收通知,或者跟朋友同事沟通。如果你是企业或者自己运营网站的用户,通过域名邮箱还能帮你发送专业邮件,展示品牌形象。
对于普通人来说,邮箱里往往存着不少个人信息,比如 Gmail 或 QQ 邮箱,可能会关联到你的真实身份。所以,在注册一些不常用的服务时,用临时邮箱/域名邮箱是个很不错的选择,能同时保护你的隐私,降低个人信息泄露的风险。
这篇教程会从理论到实操让你全方面认识域名邮箱,笔者会借助 Cloudflare 和 Resend 等免费工具,让你轻松实现无限邮箱和临时邮箱的功能。无论是想保护隐私,还是想增加点专业感,这套方法都即简单又省钱!
P1:理论扩展
在实操之前,了解域名邮箱、无限邮箱和临时邮箱的理论基础能帮助我们更好地理解其应用场景、原理和潜在价值。以下从多个维度展开,涵盖技术、隐私保护、商业应用以及可能的限制,帮助建立邮箱的认知。
域名邮箱 VS 常规邮箱
域名邮箱
优势
- 品牌化与专业性:域名邮箱后缀基于你的专属域名(如 service@yourdomain.com),相比常规邮箱(如 @gmail.com),更能体现专业性和品牌形象。例如,support@tencent.com 或 noreply@accounts.google.com 都是通过域名邮箱实现的自动化通知或客服邮件。
- 高度自定义与扩展性:通过设置子域名,你可以创建几乎无限的邮箱地址。例如,购买域名 mh33.top 后,可设置子域名如 smtp.mh33.top、support.mh33.top、shop.mh33.top,并为每个子域名配置独立的邮箱地址。这种灵活性非常适合不同业务场景(如客服、营销、通知等)。
- 隐私保护:域名邮箱可以与常规邮箱绑定,通过转发机制接收邮件,避免暴露真实邮箱地址。结合临时邮箱功能,还能进一步降低隐私泄露风险。
劣势
- 技术门槛:设置域名邮箱需要一定的 DNS 管理知识(如 MX 记录、SPF、DKIM 等),虽然现在有很多平台支持简易配置,但对非科班人员来说,还是具备一定门槛。
- 成本问题::虽然可以以非常低廉的价格购买到一个域名,但好的域名通常需要花更高的价格,并且续费价格也并非一成不变。
常规邮箱
优势
- 简单易用:Gmail、QQ 邮箱、Outlook 等常规邮箱无需额外配置,注册即用,日常冲浪必备。
- 功能丰富:常规邮箱通常提供日历、云存储、过滤器等集成功能,生态系统完善。
- 高可靠性:由大公司(如谷歌、腾讯、微软)提供,服务器稳定,安全性较高。
- 低成本:比较热门的邮箱都是免费注册的。
劣势
- 隐私问题:常规邮箱往往与真实身份绑定(如手机号码),在注册不信任的服务时可能增加隐私泄露风险。
- 缺乏专业感:免费邮箱后缀(如 @gmail.com)在商业场景中可能显得不够正式,同时无法注册组织形的机构。
- 扩展性有限:无法像域名邮箱一样通过子域名实现灵活的邮箱地址扩展。
\_
DNS 解析:MX 记录
MX 记录(Mail Exchange 记录) 是域名系统(DNS)中用于指定邮件服务器的关键记录,决定了邮件如何路由到你的域名邮箱。
MX 转发流程
以@gmail.com来举例子,当你使用任何邮箱向 [target]@gmail.com 发邮件时,由于 SMTP、IMAP 等邮件协议底层依然是 TCP/IP,所以首先会进行一次 DNS 查询,以 window nslookup 命令为例子(此命令通常用来查 DNS 信息)。
ps:此命令跟浏览器的chrome://net-internals/#dns使用范围不一致
λ nslookup -type=mx gmail.com
服务器: UnKnown
Address: 192.168.124.1
非权威应答:
gmail.com MX preference = 30, mail exchanger = alt3.gmail-smtp-in.l.google.com
gmail.com MX preference = 20, mail exchanger = alt2.gmail-smtp-in.l.google.com
gmail.com MX preference = 10, mail exchanger = alt1.gmail-smtp-in.l.google.com
gmail.com MX preference = 5, mail exchanger = gmail-smtp-in.l.google.com
gmail.com MX preference = 40, mail exchanger = alt4.gmail-smtp-in.l.google.com
gmail.com nameserver = ns4.google.com
gmail.com nameserver = ns3.google.com
gmail.com nameserver = ns2.google.com
gmail.com nameserver = ns1.google.com
alt2.gmail-smtp-in.l.google.com internet address = 142.251.190.26
alt1.gmail-smtp-in.l.google.com internet address = 142.250.141.27
gmail-smtp-in.l.google.com internet address = 74.125.199.26
ns2.google.com internet address = 216.239.34.10
ns1.google.com internet address = 216.239.32.10
ns3.google.com internet address = 216.239.36.10
ns4.google.com internet address = 216.239.38.10
gmail-smtp-in.l.google.com AAAA IPv6 address = 2404:6800:4008:c13::1b
ns2.google.com AAAA IPv6 address = 2001:4860:4802:34::a
ns1.google.com AAAA IPv6 address = 2001:4860:4802:32::a
ns3.google.com AAAA IPv6 address = 2001:4860:4802:36::a
ns4.google.com AAAA IPv6 address = 2001:4860:4802:38::a
可以看到 Gmail 的 DNS 记录信息,其中的mail exchanger 信息就是告诉发件方要发送到哪的记录。在这个例子中,常规情况下会优先发送到 gmail-smtp-in.l.google.com(IP 为 74.125.199.26 的邮件服务器),优先级为 5,是所有 MX 记录中最低的(优先级数字越小,优先级越高)。发送端口通常为 25(SMTP 标准端口),用于无加密传输,或 587(TLS 加密) 和 465(SSL 加密),用于安全传输。
SMTP 请求体结构
发邮件都是用的 SMTP,而 SMTP 的请求体本质上是邮件的MIME 结构 Multipurpose Internet Mail Extensions,遵循 RFC 2045,包含以下核心部分:
信头(Headers):
From: 发件人地址,如 user@yourdomain.com(必填,标识发件人)。
To: 收件人地址,如 target@gmail.com(必填,标识主要收件人)。
Cc: 抄送地址,如 cc@example.com(可选,公开抄送)。
Bcc: 密送地址,如 bcc@example.com(可选,隐藏抄送)。
Subject: 邮件主题,如 测试邮件(建议填写,增强可读性)。
Date: 发送时间,如 Sat, 24 May 2025 13:15:00 +0900(通常自动生成)。
Message-ID: 邮件唯一标识,如 <123456789@yourdomain.com>(由客户端或服务器生成)。
MIME-Version: MIME 版本,通常为 1.0(声明 MIME 格式)。
Content-Type: 内容类型,如 text/plain(纯文本)、text/html(HTML 格式)、multipart/mixed(含附件)。
Content-Transfer-Encoding: 编码方式,如 7bit(ASCII 文本)、quoted-printable(特殊字符)、base64(附件或非 ASCII 内容)。
正文(Body):
- 纯文本格式:如 "您好,这是一封测试邮件!"。
- HTML 格式:如 "<h1>您好</h1><p>这是一封测试邮件!</p>"。
- 含附件:使用 MIME 分隔符(如 --boundary123)分隔正文和附件,附件以 base64 编码。
真实 SMTP 请求例子
以 mh33.top 发送,和 gmail 接收举例子
From: user@mh33.top
To: target@gmail.com
Subject: 测试域名邮箱
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="boundary123"
Date: Sat, 24 May 2025 13:15:00 +0900
Message-ID: <20250524131500.123@mh33.top>
--boundary123
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
您好,这是一封来自 mh33.top 的测试邮件,附件中包含一张图片。
--boundary123
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit
<h1>欢迎体验域名邮箱</h1>
<p>这是一封来自 <b>mh33.top</b> 的测试邮件,附件中包含一张图片。</p>
--boundary123
Content-Type: image/png; name="test.png"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="test.png"
[base64 编码的图片数据]
--boundary123--
.
\_
接收方接受到 SMTP 请求数据后,后面无论是渲染到对应页面,还是转发给别的邮箱,都取决于实现细节了。
如果对实现发送接收邮件服务器有兴趣,可以看下相关开源项目的实现.
Maddy:✅ 单二进制(Go 语言编写),无需复杂依赖,同时支持 Docker
Mailu:✅ 基于 Docker,一键部署 SMTP+IMAP
临时邮箱
通过以上分析,解释了域名邮箱的原理,其实临时邮箱的实现逻辑也随之清晰。因为可以无限扩展子域名,同时域名可以生成无限前缀,所以临时邮箱本质上是域名邮箱的一种应用方式,
P2:实操
步骤一:购买域名
ps:如果已经有域名,直接跳转到步骤二
本次案例我们以腾讯云的域名为案例,如果还没注册,可以走笔者链接https://curl.qcloud.com/YpwnVJlS
登录后,直接进入
购买链接(https://cloud.tencent.com/act/pro/domain-sales?from=19178)。
由于是测试,我们随便买个一块钱一年的域名做例子,购买后进入
管理页面(https://console.cloud.tencent.com/domain/all-domain/all)
这是域名购买后默认的状态,其他国内厂家也大差不差。
进入这个页面后,开始步骤二
步骤二:将域名挂载到 cloudflare
进入 cloudflare 账户主页,点击添加域
输入腾讯云那边买的域名,其他配置默认即可
选择免费计划
然后点击继续前往激活
到达这个页面后,复制你页面中第三点对应的服务地址,后面会用到,然后切换回步骤一腾讯云的管理页面(https://console.cloud.tencent.com/domain/all-domain/all)
我们直接点击操作栏的更多-> 修改 DNS 服务器
这里的 DNS 服务器在 CloudFlare 那边的中文站点叫做名称服务器,我们需要将原本云服务的 dns 解析替换成上面 cloudflare 给的 dns 服务进行解析
点击自定义 DNS,随后将上面 cloudflare 提供的 dns 服务复制进去,点击提交即可。
随后回到 cloudflare 页面点击继续,可以看到左上角状态显示名称服务器无效,等待即可。
等待大约几十分钟到一小时后会收到一封这样描述的邮件,也就是绑定成功了。
我们刷新 cloudflare 的页面可以看到域名左上角状态已经变成了活动。
到此我们已经成功将域名解析服务从腾讯云转移到 cloudflare。
步骤三:启动 cloudflare 电子邮件服务
进入 cloudflare 电子路由面板,点击开始使用
目标位置,即是实际接收的邮箱账号,此地址不可自举,推荐使用@qq.com、@gmail.com、@outlook.com 等等常规地址测试
ps: cloudflare 常规情况下一个邮箱只被一个域名绑定
验证完后,我们刷新 cloudflare 页面,点击启用电子邮件路由
配置 Catch-ALl 规则后,所有发送到这个@mhss.email 的域名都会被你接收到
到此,已经可以实现 test@mhss.email 的接收邮件
步骤四:使用域名邮箱发送邮件
支持发送邮件的网站有很多,甚至我们可以自己搭建邮件转发服务,但搭建流程篇幅过长,我们挑一个免费的,使用resend 网站来做测试(https://resend.com/domains),进入网站后,点击Add Domain
输入你的域名,然后点击确认按钮
等待检测状态变绿,点击sign in to cloudflare
出现授权弹窗后,点击授权按钮
随后会跳转到检测状态页面,等待几分钟状态变绿即可
到这一步已经完全配置好邮箱的收发功能了!
我们可以用 resend 官方的发送功能测试一下,首先点击左侧Audience菜单,也就是绑定联系人(官网用得绑定联系人,API 版本不用)
在弹窗内输入你想要发送的邮箱地址
随后点击左侧菜单Broadcasts,填写对应信息
进入接收邮箱,可以看到刚才发送的内容
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。