stalwartlabs/stalwart
GitHub: stalwartlabs/stalwart
一款用 Rust 编写的一体化邮件与协作服务器,集成了现代邮件协议、日历、联系人、文件存储与高级安全防护功能。
Stars: 11802 | Forks: 657
安全、可扩展的邮件与协作服务器,支持全面的协议 🛡️
(IMAP, JMAP, SMTP, CalDAV, CardDAV, WebDAV)
## 功能特性 **Stalwart** 是一个开源的邮件与协作服务器,支持 JMAP、IMAP4、POP3、SMTP、CalDAV、CardDAV 和 WebDAV,并具备广泛的现代功能。它使用 Rust 编写,旨在实现安全、快速、健壮和可扩展。 主要功能: - **电子邮件**服务器,提供完整的协议支持: - JMAP: * [JMAP for Mail](https://datatracker.ietf.org/doc/html/rfc8621) 服务器。 * [JMAP for Sieve Scripts](https://www.ietf.org/archive/id/draft-ietf-jmap-sieve-22.html)。 * [WebSocket](https://datatracker.ietf.org/doc/html/rfc8887)、[Blob Management](https://www.rfc-editor.org/rfc/rfc9404.html) 和 [Quotas](https://www.rfc-editor.org/rfc/rfc9425.html) 扩展。 - IMAP: * [IMAP4rev2](https://datatracker.ietf.org/doc/html/rfc9051) 和 [IMAP4rev1](https://datatracker.ietf.org/doc/html/rfc3501) 服务器。 * [ManageSieve](https://datatracker.ietf.org/doc/html/rfc5804) 服务器。 * 支持众多[扩展](https://stalw.art/docs/development/rfcs#imap4-and-extensions)。 - POP3: - [POP3](https://datatracker.ietf.org/doc/html/rfc1939) 服务器。 - [STLS](https://datatracker.ietf.org/doc/html/rfc2595) 和 [SASL](https://datatracker.ietf.org/doc/html/rfc5034) 支持以及其他[扩展](https://datatracker.ietf.org/doc/html/rfc2449)。 - SMTP: * SMTP 服务器,内置 [DMARC](https://datatracker.ietf.org/doc/html/rfc7489)、[DKIM](https://datatracker.ietf.org/doc/html/rfc6376)、[SPF](https://datatracker.ietf.org/doc/html/rfc7208) 和 [ARC](https://datatracker.ietf.org/doc/html/rfc8617) 支持以进行消息认证。 * 通过 [DANE](https://datatracker.ietf.org/doc/html/rfc6698)、[MTA-STS](https://datatracker.ietf.org/doc/html/rfc8461) 和 [SMTP TLS](https://datatracker.ietf.org/doc/html/rfc8460) 报告实现强大的传输安全性。 * 入站限速和过滤,具有细粒度的配置规则、sieve 脚本、MTA 钩子和 milter 集成。 * 分布式虚拟队列,支持延迟传递、优先传递、配额、路由规则和限速。 - 信封重写和消息修改。 - **协作**服务器: - 日程安排: - 支持 [CalDAV](https://datatracker.ietf.org/doc/html/rfc4791) 和 [CalDAV Scheduling](https://datatracker.ietf.org/doc/html/rfc6638)。 - 支持 [JMAP for Calendars](https://datatracker.ietf.org/doc/html/draft-ietf-jmap-calendars-24)。 - 联系人管理: - 支持 [CardDAV](https://datatracker.ietf.org/doc/html/rfc6352)。 - 支持 [JMAP for Contacts](https://datatracker.ietf.org/doc/html/rfc9610)。 - 文件存储: - 支持 [WebDAV](https://datatracker.ietf.org/doc/html/rfc4918)。 - 支持 [JMAP for File Storage](https://datatracker.ietf.org/doc/html/draft-ietf-jmap-filenode-03)。 - 具有细粒度访问控制的共享: - 支持 [WebDAV ACL](https://datatracker.ietf.org/doc/html/rfc3744)。 - 支持 [JMAP Sharing](https://datatracker.ietf.org/doc/html/rfc9670)。 - **垃圾邮件**和**网络钓鱼**内置过滤器: - 与流行解决方案相当的全面过滤**规则**集。 - LLM 驱动的垃圾邮件过滤和消息分析。 - 统计**垃圾邮件分类器**,具有协同过滤、自动训练功能和地址簿集成。 - DNS 黑名单 (**DNSBLs**) 检查 IP 地址、域名和哈希值。 - 与 **Pyzor** 协同进行基于摘要的垃圾邮件过滤。 - **网络钓鱼**防护,抵御同形 URL 攻击、发件人欺诈和其他技术。 - 可信**回复**跟踪,以识别并优先处理真实的电子邮件回复。 - 发件人**信誉**监控,按 IP 地址、ASN、域名和电子邮件地址进行。 - **灰名单**,用于暂时推迟未知发件人的邮件。 - **垃圾邮件陷阱**,用于设置诱饵电子邮件地址以捕获和分析垃圾邮件。 - **灵活**: - 可插拔存储后端,支持 **RocksDB**、**FoundationDB**、**PostgreSQL**、**mySQL**、**SQLite**、**S3-Compatible**、**Azure** 和 **Redis**。 - 使用内置搜索引擎或通过 **Meilisearch**、**ElasticSearch**、**OpenSearch**、**PostgreSQL** 或 **mySQL** 后端,提供支持 17 种语言的全文搜索。 - Sieve 脚本语言,支持所有[已注册的扩展](https://www.iana.org/assignments/sieve-extensions/sieve-extensions.xhtml)。 - 支持电子邮件别名、邮件列表、子寻址和 Catch-all 地址。 - 通过 [autoconfig](https://www.ietf.org/id/draft-bucksch-autoconfig-02.html) 和 [autodiscover](https://learn.microsoft.com/en-us/exchange/architecture/client-access/autodiscover?view=exchserver-2019) 自动进行账户配置和发现。 - 支持多租户,具有域和租户隔离功能。 - 每个用户和租户的磁盘配额。 - **安全且健壮**: - 使用 **S/MIME** 或 **OpenPGP** 进行静态加密。 - 使用 [ACME](https://datatracker.ietf.org/doc/html/rfc8555) 通过 `TLS-ALPN-01`、`DNS-01` 或 `HTTP-01` 挑战自动配置 TLS 证书。 - 自动阻止攻击、滥用或扫描服务器漏洞的 IP 地址。 - 速率限制。 - 经过安全审计(阅读[报告](https://stalw.art/blog/security-audit))。 - 内存安全(归功于 Rust)。 - **可扩展且容错**: - 旨在无缝处理增长,从小型设置到数千个节点的大规模部署。 - 以**容错性**和**高可用性**为设计理念,可从硬件或软件故障中恢复,对运营影响极小。 - 点对点集群协调,或使用 **Kafka**、**Redpanda**、**NATS** 或 **Redis**。 - 支持 **Kubernetes**、**Apache Mesos** 和 **Docker Swarm**,用于自动扩展和容器编排。 - 读副本、分片 Blob 存储和内存数据存储,以实现高性能和低延迟。 - **认证与授权**: - **OpenID Connect** 认证。 - OAuth 2.0 授权,支持[授权码](https://www.rfc-editor.org/rfc/rfc8628)和[设备授权](https://www.rfc-editor.org/rfc/rfc8628)流程。 - 支持 **LDAP**、**OIDC**、**SQL** 或内置认证后端。 - 使用基于时间的一次性密码进行双重认证 (`2FA-TOTP`) - 应用程序密码。 - 角色和权限。 - 访问控制列表。 - **可观测性**: - 日志记录和追踪,支持 **OpenTelemetry**、journald、日志文件和控制台。 - 指标,集成 **OpenTelemetry** 和 **Prometheus**。 - 用于事件驱动自动化的 Webhooks。 - 警报,支持电子邮件和 webhook 通知。 - 实时追踪和指标。 - **基于 Web 的管理**: - 具有实时统计和监控的仪表板。 - 账户、域、组和邮件列表管理。 - SMTP 队列管理,用于消息和出站 DMARC 及 TLS 报告。 - 接收到的 DMARC、TLS-RPT 和故障 (ARF) 报告的可视化界面。 - 配置邮件服务器的各个方面。 - 日志查看器,具有搜索和过滤功能。 - 用于密码重置和静态加密密钥管理的自助服务门户。 ## 截图
## 介绍
**想要更深入的了解?** 需要向你的老板解释为什么 Stalwart 是完美选择吗?无论你是在评估选项、向团队陈述,还是仅仅好奇其底层工作原理,这些幻灯片都将带你了解 Stalwart 的关键功能、架构和优势。浏览[幻灯片](https://stalw.art/slides)以了解其独特之处。
## 快速开始
按照适合你平台的说明在服务器上安装 Stalwart:
- [Linux / MacOS](https://stalw.art/docs/install/platform/linux)
- [Windows](https://stalw.art/docs/install/platform/windows)
- [Docker](https://stalw.art/docs/install/platform/docker)
所有文档可在 [stalw.art/docs](https://stalw.art/docs/install/get-started) 获取。
## 支持
如果您在运行 Stalwart 时遇到问题、发现错误或仅有一个疑问,请随时通过 [GitHub Discussions](https://github.com/stalwartlabs/stalwart/discussions)、[Reddit](https://www.reddit.com/r/stalwartlabs) 或 [Discord](https://discord.com/servers/stalwart-923615863037390889) 联系我们。
此外,您可以购买 [企业许可证](https://stalw.art/enterprise) 以获得来自 Stalwart Labs LLC 的优先支持。
## 路线图
Stalwart 的发展已达激动人心的节点,现已**功能完备**。我们计划支持的所有核心功能和开放标准电子邮件及协作协议均已就绪。换句话说,Stalwart 已经具备了你期望现代、符合标准的邮件和协作平台所应有的一切功能。
下一个主要里程碑在于完善:最终确定数据库模式并专注于性能优化,以确保一切尽可能高效、可靠地运行。一旦完成,我们将准备发布 **1.0** 版本。
当然,开发不会止步于此。社区已经贡献了数百个关于改进和新功能的绝佳想法,从细微的易用性调整到全新的集成,应有尽有。你可以在我们的 [GitHub issues](https://github.com/stalwartlabs/stalwart/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc+label%3Aenhancement) 上查看完整的提案列表。如果你希望优先实现某项功能,请为其点赞,因为我们计划根据社区的投票来实施改进。
## 许可证
本项目采用 **GNU Affero General Public License v3.0**(AGPL-3.0;由自由软件基金会发布)和 **Stalwart Enterprise License v1 (SELv1)** 双重许可:
- [GNU Affero General Public License v3.0](./LICENSES/AGPL-3.0-only.txt) 是一个自由软件许可证,确保您使用、修改和分发软件的自由,条件是任何修改后的软件版本也必须在相同的许可证下分发。
- [Stalwart Enterprise License v1 (SELv1)](./LICENSES/LicenseRef-SEL.txt) 是专为商业用途设计的专有许可证。它为不希望遵守 AGPL-3.0 许可证要求的企业提供额外的功能和更大的灵活性。
本项目中的每个文件顶部都包含许可证声明,指明适用的许可证。许可证声明遵循 [REUSE 指南](https://reuse.software/)以确保清晰和一致。每个许可证的全文可在 [LICENSES](./LICENSES/) 目录中找到。
## 版权
Copyright (C) 2020, Stalwart Labs LLC标签:All-in-one, ASN信息, CalDAV, CardDAV, IMAP, JMAP, MTA, POP3, Rust, SMTP, WebDAV, 企业通信, 便携式工具, 协作平台, 协议支持, 可视化界面, 后端开发, 子域名突变, 安全, 开源, 搜索引擎查询, 日历同步, 测试用例, 漏洞探索, 现代化, 用户代理, 网络安全, 网络流量审计, 联系人管理, 自定义请求头, 自托管, 请求拦截, 超时处理, 通知系统, 邮件传输代理, 邮件服务器, 邮箱存储, 隐私保护