#smtp #email #mta #资源受限 #资源 #mailcatcher

bin+lib tiny-mailcatcher

一个小型 MailCatcher 克隆

3 个版本

0.9.3 2022年1月12日
0.9.2 2022年1月10日
0.9.1 2021年7月26日

#919 in 开发工具


mailboar 使用

MIT 许可证

47KB
1K SLoC

小型 MailCatcher

小型 MailCatcher 是一个 小型 (<6 MB) 的 MailCatcher 替代品,优化了大小和速度。它旨在在资源受限的环境中运行,例如 CI 系统,或作为自动化测试套件的一部分。

原 MailCatcher 中的一些功能被省略了:Tiny MailCatcher 没有HTML + JavaScript UI,并且它还没有在 /messages 路径上发布 WebSocket 端点。如果您需要这些功能之一,我强烈建议安装原版 MailCatcher。

当小型 MailCatcher 运行时,可以访问和分析发送到端口 1025(可配置)的任何电子邮件,通过 REST API。这在测试套件中很有用,当断言某些电子邮件是否发送时。

文档

https://mailcatcher.me/ 上的文档也适用于 Tiny MailCatcher。

简而言之

  1. 小型 MailCatcher 具有默认在端口 1025 运行的 SMTP 服务器(可配置)
  2. 有一个运行在端口 1080(可配置)的 REST API。
    • GET/DELETE http://localhost:1080/messages 获取/删除所有消息
    • GET http://localhost:1080/messages/:id 获取单个消息的 JSON 格式
    • GET http://localhost:1080/messages/:id.source 获取消息源
    • GET https://127.0.0.1:1080/messages/:id.html 获取此消息的 HTML 版本
    • GET http://localhost:1080/messages/:id.eml 获取此消息的 EML 版本
    • GET http://localhost:1080/messages/:id.plain 获取此消息的 text/plain 版本
    • DELETE http://localhost:1080/messages/:id 删除一条消息
    • GET http://localhost:1080/messages/:id/parts/:cid 通过内容 ID 获取附件

安装

使用 Cargo

cargo install tiny-mailcatcher

还提供了一个小型的 (~5MB) Docker 镜像

docker run -d -p 1080:80 -p 1025:25 pevdh/tiny-mailcatcher:latest

用法

USAGE:
    tiny-mailcatcher [OPTIONS]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
        --http-port <http-port>     [default: 1080]
        --ip <ip>                   [default: 127.0.0.1]
        --smtp-port <smtp-port>     [default: 1025]

依赖项

~14–26MB
~409K SLoC