用免费域名,搭建一个自己的临时邮箱服务保护您的真实邮箱地址
用免费域名,搭建一个自己的临时邮箱服务保护您的真实邮箱地址,远离垃圾邮件和不必要的订阅
前言
好久没有认真去写文章了,2025年年末那会真的好忙,不过现在已经提离职了,真的很开心。离职了。可能也是一种解脱,一个人忙了大半年。不提这些事了。
分享一个临时邮箱服务MoeMail,搭建一个自己的临时邮箱服务保护您的真实邮箱地址,远离垃圾邮件和不必要的订阅,这个项目目前在github上获得了1.8k的star,这是一个界面简洁,样式美观的,基于 NextJS + Cloudflare 技术栈构建的可爱临时邮箱服务。也就是你可以完全免费托管到 Cloudflare 上。然后再用免费的域名就能实现全免费的临时邮箱服务了。
GitHub地址:https://github.com/beilunyang/moemail
官方文档:https://docs.moemail.app/
官方在线演示地址:https://moemail.app/
项目预览
我自己搭建了一个https://mail.hudi.cc.cd/ 不想搭建的朋友可以直接使用我的,或者是官方的。由于 Cloudflare免费额度有限,我还是建议私有化搭建。
项目特点
- 隐私保护:隐藏真实邮箱,防止垃圾邮件。
- 高效便捷:实时收件通知、自动清理过期邮件,支持1小时至永久的灵活有效期。
- 多端适配:响应式设计+PWA支持,兼容桌面/移动设备;亮暗色主题切换。
- 高级扩展:支持发送邮件(基于Resend)、Webhook通知、角色权限控制及OpenAPI访问。
- 用户友好:免费自部署(Cloudflare)、中英双语界面、萌系UI设计。
技术栈总结
Next.js (App Router) 框架,部署于 Cloudflare Pages。数据库使用 Cloudflare D1 ,认证采用 NextAuth 支持 GitHub 登录。样式基于 Tailwind CSS,UI 组件由 Radix UI 定制。邮件处理依赖 Cloudflare Email Workers,开发使用 TypeScript 确保类型安全,ORM 选用 Drizzle,国际化通过 next-intl 实现。全栈TypeScript、边缘部署、轻量高效、开发者友好。
免费域名
这里使用DNSHE的四个免费域名且可以托管 Cloudflare免费计划来做域名邮箱,目前DNSHE可使用的免费域名有,de5.net,cc.cd,ccwu.cc,us.ci,无需实名认证即可免费注册。注册步骤域名和托管Cloudflare步骤这里省略了。
临时邮箱搭建
前置条件
1、GitHub账号、 Cloudflare账号
2、域名自己的域名或者是免费的二级域名
1、官方推荐使用工作流去部署,这也是用工作流。首先fork MoeMail项目的的源码到自己的GitHub。
2、在仓库的【Settings】->【Secrets and variables】->【Action】中去添加环境部署所需要的变量
环境变量如下
| 变量名 | 变量值 |
|---|---|
CLOUDFLARE_API_TOKEN |
Cloudflare API 令牌 |
CLOUDFLARE_ACCOUNT_ID |
Cloudflare 账户 ID |
AUTH_GITHUB_ID |
GitHub OAuth App ID |
AUTH_GITHUB_SECRET |
GitHub OAuth App Secret |
AUTH_SECRET |
NextAuth Secret,用来加密 session,请设置一个随机字符串 |
CUSTOM_DOMAIN |
网站自定义域名,用于访问 MoeMail(可选) |
PROJECT_NAME |
Cloudflare Pages 项目名(可选,默认 moemail) |
DATABASE_NAME |
D1 数据库名称(可选,默认 moemail-db) |
KV_NAMESPACE_NAME |
Cloudflare KV namespace 名称,用于存储网站配置(可选,默认 moemail-kv) |
变量获取方式看步骤3-步骤7,知道怎么获取可以跳过
3、CLOUDFLARE_API_TOKEN获取方式是在CLOUDFLARE的控制面板点击【账户管理】->【账户API令牌】->【创建令牌】
API令牌模板中选择【编辑 Cloudflare Workers】模板,当然你也可以自定义
在Cloudflare Workers中添加一列D1数据库的权限,域名资源选择账户内所有的。
然后点击继续并显示API令牌信息。就能看到API信息,把它填入到GitHub的【Secrets and variables】中的变量中就行了。
4、CLOUDFLARE_ACCOUNT_ID在【计算和AI】->【workers and pages】中可以看到账户详情
5、AUTH_GITHUB_ID、AUTH_GITHUB_SECRET、AUTH_SECRET 这三个变量是用于接入GitHub授权登录的。点击GitHub右上交的头像按钮,点击【Settings】->在最下边选择【Developer setting】,在【OAuth apps】点击新建认证应用按钮,找不到的点下面链接🤣。
需要填写的信息有,Application name、Homepage URL、Authorization callback URL这三项。
| 填写项 | 值 |
|---|---|
| Application name | moemail(可以自定义) |
| Homepage URL | 网站自定义域名,用于访问 MoeMail 例如我的https://mail.hudi.cc.cd |
| Authorization callback URL | 同Homepage URL一样就行。 |
创建完成后,就可以得到AUTH_GITHUB_ID了、点击【generate a new client secret】按钮就可以生成一个AUTH_GITHUB_SECRET的值了如下,至于AUTH_SECRET用来加密 session,请设置一个随机字符串,就行。
6、DATABASE_NAME在cloudflare的【存储和数据库】->【D1 SQL数据库】,点击右上角的【创建数据库实例】,
数据库的实例名称填写 moemail 或者是自定义,但是要和GitHub仓库中的变量值对应对应。
7、KV_NAMESPACE_NAME 也是在【存储和数据库】->【workers KV】中去添加同上一步骤一样,添加D1数据库,KV名称填写moemail 或者是自定义,但是要和GitHub仓库中的变量值对应。
8、所有的步骤完成以后,在GitHub仓库中,找到【Actions】选项,找到部署按钮,然后跑一个部署的工作流,等待部署完毕。
9、部署工作流✅完成以后,回到cloudflare界面的【计算和AI】->【workers and pages】出现两个worker 一个pages项目,就部署成功了cleanup-worker是清除过期邮箱的worker。email-receiver-worker是接受电子邮件的。moemail这个就是web服务了。
10、绑定自己的域名,以我在DNSHE上申请的maiar.cc.cd域名的域名为例,点击cloudflare界面的【计算和AI】->【workers and pages】中moemail服务进去。点击自定义域名按钮进去,添加域名就行了。
这里绑定的域名要和Homepage URL、Authorization callback URL 域名一致,不然无法使用GitHub授权登录。
绑定验证完成以后,就可以通过mail.maiar.cc.cd访问临时邮箱服务了。
域名电子邮件配置
把需要配置的临时邮箱的域名,开启邮件的配置服务。例如maiar.cc.cd域名,配置邮件服务,其他的域名是相同的配置步骤。如下点击域名进去
然后在左边的【电子邮件】->【电子邮件路由】,去启用电子路由和配置Catch-all 地址的地址如下。
点击编辑Catch-all 地址按钮,操作选择【发送到worker】目标为email-receiver-worker
把需要配置电子邮件服务的域名都完成上述操作。
临时邮箱配置
通过绑定的自定义域名进入临时邮箱服务。
第一个访问
/api/roles/init-emperor接口的用户将成为皇帝,即网站所有者。
在网站中点击头像就可以对整个站点进行配置了。在网站配置中的【邮箱域名】填入配置好电子邮件服务的域名就行了,如下多个域名用逗号隔开就行了。
当然你也可以在这里配置一些其他东西。
总结
我觉得这个真的很不错,很喜欢这种小清新的界面,拿来自己和朋友使用,能保护自己的真实邮箱地址,远离垃圾邮件和不必要的订阅。还能在申请小号时有更多的选择。































