【开源项目】无限邮箱零成本搭建,免服务器,任意前缀,能收能发,一篇文章教会你

RunaCase
RunaCase
RunaCase
管理员, Keymaster
5830
文章
2
粉丝
软件头条评论1字数 2869阅读9分33秒阅读模式

想要多少个邮箱,就能有多少个,还不用绑手机号,听起来很美好吧。

不过现在想申请个邮箱挺麻烦,QQ 邮箱要绑手机,163 要绑手机,Gmail 同样得绑。一个手机号能开的邮箱有限,想要多个?没门。

但只要你有自己的域名,事情就完全不一样了。给它加任意前缀,就能生成无数个独立的邮箱地址——像 xxx@你的域名.com、yyy@你的域名.com 这样。注册不信任的网站用临时前缀,谁泄露了你的隐私一眼就能看出来;平台有新人福利就换前缀多注册几次,反复薅它羊毛。所有邮件都收到同一个后台统一管理,省心。

这玩意儿还有个专业叫法,叫"域名邮箱"。听起来高大上,搞起来其实没那么复杂。今天我就来教大家,怎么用 Cloudflare 这个互联网大善人,搭一套完全免费、零服务器成本的域名邮箱系统。

这一篇我们先把整套环境跑通、实现稳定收信,前缀随便起、多人一起用。发信的部分留到下一篇,配上 Resend 之后就能真正收发自如了。

项目介绍及前期准备

在动手之前,先介绍一下今天要用到的核心工具——一个叫 Cloud Mail 的开源项目,地址我会统一放在文末。

【开源项目】无限邮箱零成本搭建,免服务器,任意前缀,能收能发,一篇文章教会你-图片1
这个项目的设计非常巧妙。

完全免费、开源、免服务器免维护。 它不用你自己买云服务器,直接借 Cloudflare 的免费计算和存储来跑就行。宕机、黑客攻击这些事跟你没关系。

收和发也一体。 Cloudflare 原生只提供收信,但这个项目接了 Resend(第三方发信服务),发信也能搞定——具体怎么接留到下一篇。

还有个很爽的点是集中管理。一个后台可以管多个域名,每个域名下又能起无数个前缀。你甚至可以开放注册、生成邀请码,拉上家人朋友一起用。

其实这个项目的部署过程不算复杂,原作者也提供了官方教程,有点折腾基础的小伙伴照着弄就行。但对小白来说,官方教程有点过于简洁了,中间有些环节容易让人懵。 所以今天这篇文章,我就手把手带大家一步一步把它跑起来。

部署的前置条件:你得先有一个属于自己的域名。如果你还没有,可以去看我之前那篇白嫖域名的文章。我个人比较推荐 SpaceShip 来买域名(链接放文末),最便宜的顶级域名一年也就几块钱,买完托管到 Cloudflare 就行。

好,我们打开自己的 Cloudflare 账号。左边这一栏就是我托管进来的域名,今天就拿 wintermiss.com 这个域名为例来做演示。

【开源项目】无限邮箱零成本搭建,免服务器,任意前缀,能收能发,一篇文章教会你-图片2

克隆仓库并部署 Worker

第一步,打开这个项目的 GitHub 仓库。涉及的地址我都会放在文章末尾。确保你已经登录好了自己的 GitHub 账号,没有的话花一分钟免费注册一个。然后点右上角的 Fork,把原作者的项目复制到你自己的账号下。仓库名保持默认就行,点 Create Fork。现在你的 GitHub 账号下面就有一份一模一样的仓库了。

接下来我们要创建一个 Worker 来当我们的"虚拟服务器"。回到 Cloudflare,在账户主页的状态下。左边的菜单点 计算 → Workers 和 Pages → 创建应用程序。默认就是创建 Worker。

【开源项目】无限邮箱零成本搭建,免服务器,任意前缀,能收能发,一篇文章教会你-图片3

我们直接点 Continue with GitHub,意思就是直接从我们刚才 Fork 的仓库里拉取项目,省得自己写代码。

浏览器已经登录了 GitHub 的话,这里会自动列出你的仓库。如果只有一个就直接选;有多个的话搜一下 cloud-mail,选中它,点 下一步。

【开源项目】无限邮箱零成本搭建,免服务器,任意前缀,能收能发,一篇文章教会你-图片4

项目名称保持默认。这里有个隐藏设置要注意——把进度条拉下来,点 高级设置,路径这里必须填 mail-worker,其他的不动,点 部署。

等几分钟,它会自动从 GitHub 拉代码、编译、部署。好了,部署完成。

接下来给它绑定一个好记的登录域名,顺便配一下环境变量。

点 设置。Cloudflare 默认会给你分配一个 worker.dev 后缀的域名,这个就是你以后登录邮箱后台的地址。但这个默认域名被墙了,而且又长又难记,强烈建议大家自定义一个自己的域名。点 添加 → 自定义域,比如我就用 mail.wintermiss.com——在主域名前面加个 mail 当登录入口。后面的主域名必须是你已经托管到 Cloudflare 的那个哦。填好之后点 添加域。

下面我们来加几个环境变量。找到 变量和机密,点 添加。

首先加一个邮箱域名的变量。类型选 JSON,变量名输入 domain,值这里填你自己的域名。注意格式:必须有一对英文中括号,里面再加一对英文双引号,像下面这样:

["wintermiss.com"]

填好点 添加变量。

我们再加一个设置管理员账号的变量。类型保持默认的"文本",变量名输入 admin,值这里填你想要的管理员邮箱,比如我就用 admin@wintermiss.com,点 添加变量。

再添加最后一个。类型还是文本,名称输入 jwt_secret。这个东西就相当于你后台的一把防伪钥匙,值可以随便填一段英文或数字,越乱越长越安全,但千万不要加特殊符号。三个变量都设好之后,咱们继续下一步。

【开源项目】无限邮箱零成本搭建,免服务器,任意前缀,能收能发,一篇文章教会你-图片5

创建数据库并绑定

变量配好了,现在要做的就是给邮箱造两个仓库——创建数据库,并跟刚才的 Worker 绑定起来。这两个数据库分别是 D1 和 KV,都是 Cloudflare 免费提供的。

简单给大家科普一下这两个数据库的分工。你可以把我们这套邮箱系统想象成一个快递站:D1 是前台的登记簿,专门登记发件人、时间和主题这些基础信息,方便你快速翻找;KV 是后面的大仓库,专门装那些又长又占地方的邮件正文。一个管查,一个管存,搭配起来干活不累。

好,我们现在来创建数据库。左边菜单栏找到 存储和数据库,先点 D1 SQL 数据库 → 创建数据库。名字随意,我为了方便识别就叫 cloudmail,点 创建。

【开源项目】无限邮箱零成本搭建,免服务器,任意前缀,能收能发,一篇文章教会你-图片6

接着再去创建另一个。点左边的 Workers KV,点右上方的蓝色按钮创建,名字同样随意,我也叫它 cloudmail,点 添加。

数据库建好之后,现在要把它们跟 Worker 绑定起来。回到 Worker 的界面,进入刚才部署好的那个项目,在 设置 里找到 绑定,点 添加绑定。

【开源项目】无限邮箱零成本搭建,免服务器,任意前缀,能收能发,一篇文章教会你-图片7

首先来绑定 KV 空间。左侧选 KV 命名空间,点 添加绑定,变量名这里必须输入小写的 kv,下拉列表里选你刚才新建的那个命名空间,点 添加。

接着绑定 D1 数据库。继续点 添加绑定,选 D1 数据库,点 添加,变量名这里必须输入小写的 db,下拉列表里选刚才创建的 D1 数据库,点 添加绑定。

【开源项目】无限邮箱零成本搭建,免服务器,任意前缀,能收能发,一篇文章教会你-图片8
【开源项目】无限邮箱零成本搭建,免服务器,任意前缀,能收能发,一篇文章教会你-图片8

设置电子邮件路由

后端的仓库搭好了,现在要配置一个"邮递员"——也就是 Cloudflare 的电子邮件路由。

回到账户主页,先进入你要配置的那个域名,左侧菜单点 电子邮件 → 电子邮件路由 → 开始使用。

【开源项目】无限邮箱零成本搭建,免服务器,任意前缀,能收能发,一篇文章教会你-图片9
【开源项目】无限邮箱零成本搭建,免服务器,任意前缀,能收能发,一篇文章教会你-图片9

正常情况下,Cloudflare 的邮件路由只能把信转到你的其他邮箱里,但我们不需要这个功能,所以直接点右下方的 跳过入门指南。然后点 启用电子邮件系统 → 添加记录并启用。Cloudflare 很聪明,它会自动把接收邮件必需的 DNS 记录都给你加上。

记录加完之后,我们来配一下路由规则。点 Catch all 规则 这里的 编辑,操作选 发送到 Worker,目标选刚才创建的 cloud-mail Worker,点 保存。最后在状态这里确保它是开启的——这样所有发到这个域名的邮件,就都会被通通丢到你的 Worker 里处理。

【开源项目】无限邮箱零成本搭建,免服务器,任意前缀,能收能发,一篇文章教会你-图片10
【开源项目】无限邮箱零成本搭建,免服务器,任意前缀,能收能发,一篇文章教会你-图片10

初始化及接收邮件

到这里系统基本上就搭好了。下面去给它做一下初始化。

浏览器地址栏输入你刚才绑定的登录域名,比如我的就是 mail.wintermiss.com——在域名前面加个 mail 的那个——然后在后面再加 /api/init/,最后接上你设置的那一串 jwt_secret,按回车。屏幕上显示 success,就代表数据库初始化成功了。

【开源项目】无限邮箱零成本搭建,免服务器,任意前缀,能收能发,一篇文章教会你-图片11
【开源项目】无限邮箱零成本搭建,免服务器,任意前缀,能收能发,一篇文章教会你-图片11

现在把网址后面那一长串尾巴删掉,直接访问登录域名,就能看到一个挺漂亮的邮箱管理界面了。

点 Sign Up 注册账号,输入刚才在环境变量里设置的那个管理员邮箱——对,就是 admin@your_domain.com——然后设置两遍登录密码,点 Sign Up。注册完系统会自动退出,咱们再点 Sign In 重新登进去。

【开源项目】无限邮箱零成本搭建,免服务器,任意前缀,能收能发,一篇文章教会你-图片12

激动人心的时刻到了——我们来测一下它能不能正常收邮件。我用我自己的另一个邮箱,给这个 admin 邮箱发一封测试邮件。

【开源项目】无限邮箱零成本搭建,免服务器,任意前缀,能收能发,一篇文章教会你-图片13

好,回到 Cloud Mail 的后台,点一下刷新按钮,你看,收件箱里马上就能看到这封邮件了。

【开源项目】无限邮箱零成本搭建,免服务器,任意前缀,能收能发,一篇文章教会你-图片14

除了给 admin 这个前缀发邮件,因为我们设了 Catch all 规则,所以你可以随时创建新身份。点一下 新建,比如输入 test,就创建了一个前缀为 test 的邮箱。这功能用起来是真顺手——你可以用不同前缀的邮箱去注册不同的网站,以后谁泄露了你的隐私一目了然。

写在最后

到这里,咱们的零成本域名邮箱就已经搭建完成,并且能正常收邮件了。前期配置步骤看起来有点繁琐,但只要你跟着教程一步步做下来,就能拥有一个真正属于自己的、真正免费、无限前缀的专属邮箱系统。拿来保护隐私或者薅平台羊毛,都挺顺手。

你可能也发现了,现在系统虽然能收信,但如果你想回复或者主动发邮件,会发现是发不出去的。这是因为 Cloudflare 原生只提供收信功能,发信得借助第三方的服务。 下一篇我就来教大家怎么接上 Resend 这家发信服务,把收发能力彻底打通。配好之后你就可以用任意前缀的邮箱往外发邮件了,敬请期待。


相关链接

  • • Cloud Mail 开源项目:https://github.com/maillab/cloud-mail
  • • SpaceShip 域名购买:https://www.spaceship.com

Cloudflare 我很佩服,从域名解析到 Workers 再到邮箱路由,免费额度给的很大方。这套域名邮箱折腾一次,前缀就自由了。关注我,下一篇接着把它变成一个能收能发的完整邮箱系统。

 
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证