4个版本 (2个破坏性更新)
0.3.0 | 2023年6月18日 |
---|---|
0.2.0 | 2023年6月6日 |
0.1.1 | 2023年6月4日 |
0.1.0 | 2023年6月3日 |
#309 in 电子邮件
每月43次下载
用于 mailtutan
250KB
1.5K SLoC
Mailtutan
这是一个用于Mailtutan的仓库,Mailtutan是一个用Rust构建的SMTP服务器。该服务器允许您模拟SMTP(简单邮件传输协议)服务器以进行测试和开发,而无需实际向真实地址发送电子邮件。
特性
- 在本地模拟SMTP服务器进行测试和开发。
- 记录所有传入的电子邮件,包括标题和正文。
- 提供Web界面和REST API以查看电子邮件列表。
- Web界面和REST API上的基本HTTP身份验证(rfc7617)
- 支持同时处理多个客户端连接。
- 支持SMTP上的传输加密(TLS)
- 支持使用WebSockets进行Web界面的实时更新。
- Rust中轻量级和高效的实现。Docker Hub上的Docker镜像小于2MB。
- 多种存储选项:内存(默认)、Maildir(文件中)
- 支持SMTP Auth(明文)
安装
从源码编译
git clone [email protected]:mailtutan/mailtutan.git
cd mailtutan
make all # app will be available at ./target/release/mailtutan
Cargo
cargo install mailtutan
AUR
yay -S mailtutan-bin
Docker
docker run -p 1080:1080 -p 1025:1025 -d mailtutan/mailtutan:latest
下载二进制可执行文件
Check out the latest release
配置
默认情况下,Mailtutan在端口1025上监听SMTP,并将传入的电子邮件记录到内存中。Web界面在端口1080上可用。但是,您可以通过支持的参数和环境变量自定义服务器配置。
$ mailtutan -h
An SMTP server for test and development environments.
Usage: mailtutan [OPTIONS]
Options:
--ip <IP>
IPv4 address [env: MAILTUTAN_IPADDR=] [default: 0.0.0.0]
--http-port <HTTP_PORT>
HTTP Port number [env: MAILTUTAN_HTTP_PORT=] [default: 1080]
--smtp-port <SMTP_PORT>
SMTP Port number [env: MAILTUTAN_SMTP_PORT=] [default: 1025]
--smtp-cert-path <SMTP_CERT_PATH>
SMTP Cert Path [env: MAILTUTAN_SMTP_CERT_PATH=]
--smtp-key-path <SMTP_KEY_PATH>
SMTP Key Path [env: MAILTUTAN_SMTP_KEY_PATH=]
--smtp-auth-username <SMTP_AUTH_USERNAME>
SMTP Auth Username [env: MAILTUTAN_AUTH_USERNAME=]
--smtp-auth-password <SMTP_AUTH_PASSWORD>
SMTP Auth Password [env: MAILTUTAN_AUTH_PASSWORD=]
--http-auth
HTTP Auth [env: MAILTUTAN_HTTP_AUTH=]
--http-username <HTTP_USERNAME>
HTTP Username [env: MAILTUTAN_HTTP_USERNAME=] [default: admin]
--http-password <HTTP_PASSWORD>
HTTP Password [env: MAILTUTAN_HTTP_PASSWORD=] [default: admin]
--messages-limit <MESSAGES_LIMIT>
Messages Limit [env: MAILTUTAN_MESSAGES_LIMIT=] [default: 1000]
--storage <STORAGE>
Storage [env: MAILTUTAN_STORAGE=] [default: memory] [possible values: memory, maildir]
--maildir-path <MAILDIR_PATH>
Storage [env: MAILTUTAN_MAILDIR_PATH=] [default: maildir]
-h, --help
Print help
-V, --version
Print version
用法
要向Mailtutan发送电子邮件,请配置您的电子邮件客户端或应用程序使用服务器的IP地址或主机名以及配置的端口号。发送到此服务器的任何电子邮件都将被捕获并记录。
您可以通过在Web浏览器中导航到 https://127.0.0.1:1080
来访问Web界面以查看记录的电子邮件列表。此外,REST API在 https://127.0.0.1:1080/api/
上可用,以编程方式访问电子邮件数据。
API
HTTP方法 | 端点 | 描述 |
---|---|---|
GET | /api/messages | 获取消息列表 |
GET | /api/messages/:id/json | 获取消息详情 |
GET | /api/messages/:id/source | 获取消息源 |
GET | /api/messages/:id/plain | 获取消息纯文本 |
GET | /api/messages/:id/html | 获取消息HTML |
GET | /api/messages/:id/parts/:cid | 获取消息附件 |
DELETE | /api/messages/:id | 删除消息 |
DELETE | /api/messages | 删除所有消息 |
GET | /api/version | 获取应用程序版本 |
GET | /api/ws | 订阅WebSocket以获取更新 |
贡献
欢迎贡献!如果您发现任何错误或对改进有建议,请在此GitHub仓库上打开一个问题或提交一个拉取请求。请确保遵循现有的编码风格和指南。
许可证
本项目采用MIT许可证许可。请自由使用、修改和分发,根据许可证条款行事。
致谢
- 本项目受创建轻量级假SMTP服务器进行测试和开发需求所启发。
- 感谢Rust编程语言社区提供出色的工具和库,用于构建高效且可靠的软件。
依赖关系
~14MB
~245K SLoC