9个版本 (5个稳定版)
1.2.2 | 2022年1月30日 |
---|---|
1.2.0 | 2021年8月4日 |
1.1.0 | 2021年2月6日 |
1.0.1 | 2020年8月24日 |
1.0.1-snapshot | 2020年8月13日 |
#289 in 电子邮件
每月37次下载
60KB
334 行
samotop-server 1.2.2-dev
您可以运行自己的注重隐私且资源高效的邮件服务器。提供方便的Samotop Docker镜像。
状态
通用
- 小巧的Docker镜像 - 只包含静态编译的samotop和openssl,没有操作系统杂项。
通用(MDA/MTA/MSA)
- 服务器将接收邮件并将其写入指定的maildir文件夹。另一个程序可以提取文件夹并进一步处理。
- 如果提供了证书和身份文件,可以配置STARTTLS。
邮件投递代理(MDA)
- 静止加密
- 账户
- LMTP
- 套接字
邮件传输代理(MTA)
- 邮件中继
- 反垃圾邮件功能
- SPF - 拒绝SPF检查失败的邮件
- 灰名单
邮件提交代理(MSA)
- 身份验证
安装
- 使用cargo
cargo install samotop-server
- 使用docker
docker pull brightopen/samotop
使用
- 本地运行
samotop-server --help
以获取命令行参考。 - 在docker中,运行
docker run --rm -ti samotop
两者应该产生与这个不太不同的使用信息
samotop 1.2.0
USAGE:
samotop-server [FLAGS] [OPTIONS] --cert-file <cert file path> --identity-file <identity file path>
FLAGS:
-h, --help Prints help information
--no-tls Disable TLS suport
-V, --version Prints version information
OPTIONS:
-n, --name <SMTP service name> Use the given name in SMTP greetings, or if absent, use hostname
-b, --base-dir <base dir path> What is the base dir for other relative paths? [default: .]
-c, --cert-file <cert file path> Use this cert file for TLS. Disabled with --no-tls. If a relative path
is given, it will be relative to base-dir
--banner_delay <delay> Should we enforce prudent banner deleay? Delay is in miliseconds
-i, --identity-file <identity file path> Use this identity file for TLS. Disabled with --no-tls. If a relative
path is given, it will be relative to base-dir
-m, --mail-dir <mail dir path> Where to store incoming mail? If a relative path is given, it will be
relative to base-dir [default: inmail]
-p, --port <port>... SMTP server address:port, such as 127.0.0.1:25 or localhost:12345. The
option can be set multiple times and the server will start on all given
ports. If no ports are given, the default is to start on localhost:25
--command_timeout <timeout> Should we enforce prudent command timeout? Timeout is in miliseconds
TLS
您也可以在docker中使用这些openssl命令。这将运行一个openssl,当前文件夹挂载到/data下,这也是工作目录
docker run --rm -ti -v "$PWD:/data/" -w "/data/" --entrypoint openssl samotop help
使用openssl生成证书和ID
openssl req -new -newkey rsa:4096 -x509 -sha256 -days 365 -nodes -out Samotop.crt -keyout Samotop.key
测试STARTTLS
openssl s_client -connect localhost:25 -starttls smtp
使用STARTTLS进行调试
openssl s_client -connect localhost:25 -debug -starttls smtp
TLS的其他有用提示
对于native-tls,您会转换为pfx
openssl pkcs12 -export -out Samotop.pfx -inkey Samotop.key -in Samotop.crt
从证书中提取公钥
openssl x509 -pubkey -noout -in Samotop.crt > Samotop.pem
许可证
MIT OR Apache-2.0
贡献
除非您明确声明,否则您提交给samotop项目的任何贡献,根据Apache-2.0许可证定义,将按照上述方式许可,不附加任何额外条款或条件。
依赖关系
~23–39MB
~693K SLoC