开源邮件投递平台,可自托管,用于收发网站邮件,替代 SendGrid、Mailgun 等服务。
- Star
- 6,783
- Fork
- 604
- 未关闭 Issue
- 43
- 最近提交
- 上个月
这是什么?
MailCatcher 是一个简单的 SMTP 服务器,会截获发送给它的所有邮件,并在网页界面中展示。把应用的邮件发送地址指向 smtp://127.0.0.1:1025,而不是真实的邮件服务器,然后打开 http://127.0.0.1:1080 即可查看已收到的邮件,适合在开发阶段测试外发邮件而不真正投递给收件人。
邮件可以以 HTML、纯文本或源码形式查看。HTML 内容会被重写,以便显示内嵌图片,链接则在新窗口中打开。附件可以单独列出和下载,原始邮件也能导出,用本地邮件客户端打开。项目还提供 JSON 和 HTTP 接口,用于获取邮件列表和各部分内容。
MailCatcher 以 Ruby gem 形式安装,需要 Ruby 3.3 或更高版本。可通过命令行参数修改 IP 和端口,也提供官方 Docker 镜像。文档中包含 Rails、Django 和 PHP 的接入方式,PHP 可通过兼容 sendmail 的 `catchmail` 命令发送。
核心功能
- 01截获所有外发邮件,并存储以便在浏览器中查看。
- 02支持以 HTML、纯文本或源码形式显示邮件。
- 03列出附件,并可单独下载每个部分。
- 04可导出原始邮件,用本地邮件客户端打开。
- 05浏览器支持时通过 WebSocket 即时刷新新邮件,否则定时轮询。
- 06提供 JSON 和 HTTP 接口,用于获取邮件及其各部分内容。
适用场景
- 在本地开发时测试密码重置、注册和通知类邮件。
- 在不发送真实邮件的情况下,检查 Rails、Django 或 PHP 应用的邮件输出。
- 在 Docker 中运行一次性邮件截获服务,用于 CI 或演示环境。
快速上手
- 1
使用 RubyGems 安装 MailCatcher
gem install mailcatcher - 2
启动 MailCatcher
mailcatcher - 3
打开 http://127.0.0.1:1080/ 网页界面,并通过 smtp://127.0.0.1:1025 发送邮件
使用前须知
- 需要 Ruby 3.3 或更新版本,部分 gem 依赖可能需要构建工具。
收录于专题
标签
常见问题
- mailcatcher 是什么?
- 一个本地 SMTP 服务器,在开发时截获外发邮件并在网页中查看。 MailCatcher 是一个简单的 SMTP 服务器,会截获发送给它的所有邮件,并在网页界面中展示。把应用的邮件发送地址指向 smtp://127.0.0.1:1025,而不是真实的邮件服务器,然后打开 http://127.0.0.1:1080 即可查看已收到的邮件,适合在开发阶段测试外发邮件而不真正投递给收件人。
- mailcatcher 可以免费使用吗?用的什么许可证?
- mailcatcher 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- mailcatcher 还在维护吗?
- 半年内有更新。mailcatcher 最近一次提交是在 2026年9月16日。
- mailcatcher 适合用来做什么?
- 在本地开发时测试密码重置、注册和通知类邮件。 在不发送真实邮件的情况下,检查 Rails、Django 或 PHP 应用的邮件输出。 在 Docker 中运行一次性邮件截获服务,用于 CI 或演示环境。
- mailcatcher 怎么安装和运行?
- 使用 RubyGems 安装 MailCatcher: gem install mailcatcher 启动 MailCatcher: mailcatcher 打开 http://127.0.0.1:1080/ 网页界面,并通过 smtp://127.0.0.1:1025 发送邮件
- 在哪里获取 mailcatcher?
- 源代码和安装说明在 GitHub 上:https://github.com/sj26/mailcatcher
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一键部署的邮件服务器方案,可将全新的 Ubuntu 22.04 机器配置为包含webmail、DNS 与备份的完整自建邮件系统。
一个本地 SMTP 服务器加网页界面,用于开发时捕获、查看和测试邮件。
一款轻量、无依赖的邮件测试工具,充当 SMTP 服务器,并提供 Web 界面与 REST API 查看捕获的邮件。
免费开源的本地 AWS 模拟器,无需云账号即可在本机运行兼容 AWS 的服务。
基于 vCluster 以 Docker 容器运行 Kubernetes 集群,是 KinD 的替代方案,支持暂停恢复与内置负载均衡。