logo NodeSeekbeta

MailCat——利用Cloudflare Mail Worker+Catch-all+GO实现域名邮箱API收件

哈喽大家好,这是我第一次在 Nodeseek 发布项目,如果觉得有用,还请各位大佬给个 Star 🌟 ac39

这个项目还是处于刚刚可以Run起来的阶段,如果有什么Bug或者想要改进的优化的地方,欢迎提出issues 👏
👉 GitHub 地址


💡 项目介绍

MailCat 是一个轻量级的邮件接收与管理系统,基于 Go + Vue3 开发,搭配 Cloudflare Mail Worker + 邮件路由,可以轻松实现:

  • 将任意域名的邮件统一转发到后端服务
  • 提供 RESTful API 进行邮件查询
  • 适合各种自动化脚本、批量注册、验证码接收等场景

和传统的 SMTP/IMAP 查询不同,MailCat 不需要服务器开放 25 端口,通过 Cloudflare 的转发机制就能拿到邮件,同时支持 分页查询,避免一次性拉全量数据的麻烦。 ac20


🚀 特点

  • 即开即用:Docker 一键部署,轻量高效
  • 现代化 UI:基于 Vue3 + Element Plus,界面清爽
  • API 接口友好:直接用 HTTP 请求就能查邮件,不用写 IMAP/SMTP 解析
  • 轻量存储:使用 SQLite3,简单可靠
  • 安全认证:Token 验证 + 管理员密码保护

📦 使用场景

  • 自动化注册脚本,需要抓取邮箱验证码
  • 不想折腾复杂 SMTP 的场景
  • 自行想象项目会用在什么奇妙的地方 ac43

🖼️ 界面预览

image
image
image
image
image
image
image


🚀 MailCat 部署教程

🛠️ 前置条件

  • 一台可以有公网IP或者是NAT的服务器(选择NAT的话需要找个有80端口的反代绑定一个域名)
  • Docker / Docker Compose(可选)
  • 一个已接入 Cloudflare 的域名

方式一:源码运行

# 克隆项目
git clone https://github.com/MengMengCode/MailCat.git
cd MailCat

# 安装 Go 依赖
go mod tidy

# 构建前端
cd web/frontend
npm install && npm run build
cd ../..

# 启动服务
go run main.go

✅ 启动后访问:http://<服务器IP>:8080


方式二:Docker Compose 部署(推荐)

创建 docker-compose.yml 文件:

version: '3.8'

services:
  mailcat:
    image: mengmengcode/mailcat:latest
    container_name: mailcat
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      - MAILCAT_API_AUTH_TOKEN=your_secure_api_token_here
      - MAILCAT_ADMIN_PASSWORD=your_secure_admin_password_here
    volumes:
      - mailcat_data:/app/data
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
      interval: 30s
      timeout: 10s
      retries: 3

volumes:
  mailcat_data:
    driver: local

运行:

docker-compose up -d

方式三:Docker Run 部署

docker run -d \
  --name mailcat \
  --restart unless-stopped \
  -p 8080:8080 \
  -e MAILCAT_API_AUTH_TOKEN=your_secure_api_token_here \
  -e MAILCAT_ADMIN_PASSWORD=your_secure_admin_password_here \
  -v mailcat_data:/app/data \
  mengmengcode/mailcat:latest

☁️ Cloudflare Worker 配置

1. 创建 Worker

  1. 登录 Cloudflare Dashboard
  2. 进入 Workers & Pages → 创建 Worker

点击从 Hello World! 开始
image

  1. 将 cloudflare-worker/worker.js 的代码复制进去

点击右上角的编辑代码
image

粘贴 代码

点击部署
image
image

2. 配置环境变量

在 Worker → 设置 → 变量与机密 添加:

名称 值 说明
API_ENDPOINT https://your.domain.com MailCat 服务地址
API_TOKEN your_secure_api_token_here 与服务端一致的 Token

⚠️ 注意:
API_ENDPOINT 必须是公网可访问的域名(不要用 IP / localhost)
(worker不允许直接和ip进行通信)

image

3. 配置邮件路由

  1. 打开 Cloudflare Dashboard → 电子邮件 → 电子邮件路由
  2. 添加路由规则,将邮件转发到 Worker

image

4. 测试

发送一封邮件到你的域名邮箱 → 打开 MailCat 前端 → 查看是否能接收成功。


🧪 验证部署

访问接口:

curl "https://your.domain.com/api/v1/emails?token=your_secure_api_token_here"

如果返回 JSON 格式的邮件数据,说明部署成功 🎉


🔮 后续计划

  • 邮件搜索与过滤(按主题 / 发件人关键字)
  • 邮件自动删除
  • 深色模式 UI

如果大家有好的想法,也欢迎提 Issue 或 PR,一起把项目完善起来 🙌 ac2054


📎 传送门


⭐ 如果你觉得有用,请一定记得给个 Star!
这是对我最大的支持 🙏 ac2009

12
  • 给大佬点赞 大佬好呀 xhj003

  • 好东西,鸡腿奉上

  • 必须点赞➕鸡腿

  • 先收藏了

  • 鸡腿先送上

  • 已收藏

  • 厉害

  • 感谢 但是还要提醒一下 我是用过cf 的电子邮件路由的, 一开始可能会不错,用的多了,会出现漏接邮件的情况。微软和谷歌发的邮件遇到过很多次了。 个人玩玩还是可以的

  • lgbd

12

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有72267位seeker

🎉欢迎新用户🎉