diff --git a/stalwart-mail/README.md b/stalwart-mail/README.md new file mode 100755 index 000000000..454005902 --- /dev/null +++ b/stalwart-mail/README.md @@ -0,0 +1,57 @@ +# Stalwart 邮件服务器 + +**Stalwart 邮件服务器** 是一个支持 JMAP、IMAP4、POP3 和 SMTP 的开源邮件服务器解决方案,拥有丰富的现代功能。它使用 Rust 编写,设计注重安全性、速度、稳定性和可扩展性。 + +--- + +## 🚀 主要功能 + +- **完整协议支持**:JMAP、IMAP4rev2、POP3、SMTP 及 ManageSieve。 +- **高级 SMTP 功能**:内置 DMARC、DKIM、SPF、ARC、TLS 报告支持,灵活的路由与过滤。 +- **反垃圾邮件与钓鱼防护**:基于 LLM 的邮件分析、灰名单、垃圾邮件陷阱及 DNSBL 支持。 +- **灵活的存储后端**:支持 PostgreSQL、SQLite、Redis、S3、ElasticSearch 等。 +- **高安全性**:支持 S/MIME 与 OpenPGP 加密,ACME TLS 证书,自适应限流与自动 IP 封锁。 +- **可扩展性与高可用性**:支持 Kubernetes,分片存储,自动故障恢复,无单点故障。 +- **全面的身份验证支持**:OAuth2、OpenID Connect、LDAP、TOTP 双因素认证、ACL 与基于角色的访问控制。 +- **监控与管理界面**:Web 控制面板,Prometheus 指标,OpenTelemetry 支持,日志查看器与告警系统。 + +--- + +## ⚙️ 安装步骤 + +1. 安装 Stalwart 时,请确保没有其他应用程序占用相同的端口。如果发生端口冲突(例如与 OpenResty 等 Web 服务器),您可以将 Stalwart 的默认端口更改为其他可用端口。 + + ![](https://i.imgur.com/v8IiDmI.png) + +2. 在初始设置过程中,请向下滚动并**启用以下选项**: + - ✅ **高级设置** + - ✅ **外部访问** + + ![](https://i.imgur.com/2wVMb3G.png) + +3. 安装完成并启动 Stalwart 后,请**查看应用日志**。如果日志内容类似下图,说明安装成功,Stalwart 正在运行。 + + ![](https://i.imgur.com/QM1Euld.png) + + > 💡 *请保存日志中显示的账户信息,稍后登录时需要使用。* + +4. 如果您的系统启用了**防火墙**,请确保使用 **TCP 协议** 打开 Stalwart 所需的端口,以确保邮件服务器正常运行。 + + ![](https://i.imgur.com/4aYSKN2.png) + + > ⚠️ *在此示例中,端口 `443` 已被 OpenResty 占用,因此我将 Stalwart 的端口更改为 `8443`。* + +5. 设置完成后,在浏览器中打开您之前设置的地址和端口。登录时,请使用**第 3 步日志中显示的用户名和密码**。 + + ![](https://i.imgur.com/0jrSZLt.png) + +--- + +## 📺 高级设置与配置 + +有关进一步的配置,可以参考以下两个视频: + +- https://youtu.be/JA_V0GFUwWc?si=71KKiAV59mUoL0X4 +- https://youtu.be/PMoiJktvzDw?si=hVhQxdLuj7PJJALm + +📌 *感谢视频创作者 —— 强烈推荐用于入门。* diff --git a/stalwart-mail/README_en.md b/stalwart-mail/README_en.md new file mode 100755 index 000000000..1de8220ff --- /dev/null +++ b/stalwart-mail/README_en.md @@ -0,0 +1,57 @@ +# Stalwart Mail Server + +**Stalwart Mail Server** is an open-source mail server solution with JMAP, IMAP4, POP3, and SMTP support and a wide range of modern features. It is written in Rust and designed to be secure, fast, robust and scalable. + +--- + +## 🚀 Key Features + +- **Complete Protocol Support**: JMAP, IMAP4rev2, POP3, SMTP, and ManageSieve. +- **Advanced SMTP**: Built-in DMARC, DKIM, SPF, ARC, TLS reporting, and flexible routing & filtering. +- **Anti-Spam & Phishing Protection**: LLM-based analysis, greylisting, spam traps, and DNSBL support. +- **Flexible Backends**: Support for PostgreSQL, SQLite, Redis, S3, ElasticSearch, and more. +- **High Security**: S/MIME & OpenPGP encryption, ACME TLS certificates, rate limiting, and automatic IP blocking. +- **Scalable & Highly Available**: Kubernetes support, sharded storage, auto-recovery, no single point of failure. +- **Comprehensive Authentication**: OAuth2, OpenID Connect, LDAP, TOTP 2FA, ACLs & role-based access. +- **Monitoring & Admin Interface**: Web dashboard, Prometheus metrics, OpenTelemetry support, log viewer & alerts. + +--- + +## ⚙️ Installation Steps + +1. When installing Stalwart, make sure no other application is using the same port. If there’s a conflict (for example, with a web server like OpenResty), you can change Stalwart’s default port to another available one. + + ![](https://i.imgur.com/v8IiDmI.png) + +2. During the initial setup, scroll down and **enable the following options**: + - ✅ **Advanced Settings** + - ✅ **External Access** + + ![](https://i.imgur.com/2wVMb3G.png) + +3. Once the installation is complete and Stalwart is running, **check the application logs**. If they look similar to the example below, it means the installation was successful and Stalwart is now active. + + ![](https://i.imgur.com/QM1Euld.png) + + > 💡 *Make sure to save the account information shown in the logs. You’ll need it to log in later.* + +4. If your system uses a **firewall**, be sure to open the necessary ports for Stalwart using the **TCP protocol**. This allows the email server to work properly. + + ![](https://i.imgur.com/4aYSKN2.png) + + > ⚠️ *In this example, port `443` is already being used by OpenResty, so I changed Stalwart’s port to `8443`.* + +5. After setup is complete, open your browser and go to the address and port you selected. Use the **username and password from the logs in step 3** to log in. + + ![](https://i.imgur.com/0jrSZLt.png) + +--- + +## 📺 Advanced Setup & Configuration + +For further configuration, you can follow these two videos: + +- https://youtu.be/JA_V0GFUwWc?si=71KKiAV59mUoL0X4 +- https://youtu.be/PMoiJktvzDw?si=hVhQxdLuj7PJJALm + +> 📌 *Credits to the creators — highly recommended for getting started.* diff --git a/stalwart-mail/data.yml b/stalwart-mail/data.yml new file mode 100755 index 000000000..0c1d8389f --- /dev/null +++ b/stalwart-mail/data.yml @@ -0,0 +1,28 @@ +name: Stalwart Mail Server +tags: + - 邮件服务 +title: 安全且现代的一体化邮件服务器 +description: 安全且现代的一体化邮件服务器 +additionalProperties: + key: stalwart-mail + name: Stalwart Mail Server + tags: + - Email + shortDescZh: 安全且现代的一体化邮件服务器 + shortDescEn: Secure & Modern All-in-One Mail Server + description: + en: Secure & Modern All-in-One Mail Server + ja: 安全で最新の統合型メールサーバー + ms: Pelayan Mel Semua-dalam-Satu yang Selamat & Moden + pt-br: Servidor de E-mail Tudo-em-Um Seguro e Moderno + ru: Безопасный и Современный Универсальный Почтовый Сервер + ko: 안전하고 현대적인 올인원 메일 서버 + zh-hant: 安全且現代化的一體化郵件伺服器 + zh: 安全且现代的一体化邮件服务器 + type: tool + crossVersionUpdate: true + limit: 1 + recommend: 0 + website: https://stalw.art/ + github: https://github.com/stalwartlabs/mail-server + document: https://stalw.art/docs/ diff --git a/stalwart-mail/logo.png b/stalwart-mail/logo.png new file mode 100755 index 000000000..cd46a48b6 Binary files /dev/null and b/stalwart-mail/logo.png differ diff --git a/stalwart-mail/v0.11.7-alpine/data.yml b/stalwart-mail/v0.11.7-alpine/data.yml new file mode 100755 index 000000000..92df9ad86 --- /dev/null +++ b/stalwart-mail/v0.11.7-alpine/data.yml @@ -0,0 +1,132 @@ +additionalProperties: + formFields: + - default: 443 + envKey: PANEL_APP_PORT_HTTPS + label: + en: HTTPS Port + ja: HTTPSポート + ms: Port HTTPS + pt-br: Porta HTTPS + ru: Порт HTTPS + ko: HTTPS 포트 + zh-hant: HTTPS 連接埠 + zh: HTTPS端口 + required: true + type: number + - default: 8080 + envKey: PANEL_APP_PORT_HTTP + label: + en: HTTP Port + ja: HTTPポート + ms: Port HTTP + pt-br: Porta HTTP + ru: Порт HTTP + ko: HTTP 포트 + zh-hant: HTTP 連接埠 + zh: HTTP端口 + required: true + type: number + - default: 25 + envKey: PORT_SMTP + label: + en: SMTP Port + ja: SMTPポート + ms: Port SMTP + pt-br: Porta SMTP + ru: Порт SMTP + ko: SMTP 포트 + zh-hant: SMTP 連接埠 + zh: SMTP端口 + required: true + type: number + - default: 587 + envKey: PORT_SMTP_SUBMISSION + label: + en: SMTP Submission Port + ja: SMTP送信ポート + ms: Port Penyerahan SMTP + pt-br: Porta de Submissão SMTP + ru: Порт отправки SMTP + ko: SMTP 제출 포트 + zh-hant: SMTP 提交連接埠 + zh: SMTP提交端口 + required: true + type: number + - default: 465 + envKey: PORT_SMTP_SSL + label: + en: SMTP SSL Port + ja: SMTP SSLポート + ms: Port SMTP SSL + pt-br: Porta SMTP SSL + ru: Порт SMTP SSL + ko: SMTP SSL 포트 + zh-hant: SMTP SSL 連接埠 + zh: SMTP SSL端口 + required: true + type: number + - default: 143 + envKey: PORT_IMAP + label: + en: IMAP Port + ja: IMAPポート + ms: Port IMAP + pt-br: Porta IMAP + ru: Порт IMAP + ko: IMAP 포트 + zh-hant: IMAP 連接埠 + zh: IMAP端口 + required: true + type: number + - default: 993 + envKey: PORT_IMAP_SSL + label: + en: IMAP SSL Port + ja: IMAP SSLポート + ms: Port IMAP SSL + pt-br: Porta IMAP SSL + ru: Порт IMAP SSL + ko: IMAP SSL 포트 + zh-hant: IMAP SSL 連接埠 + zh: IMAP SSL端口 + required: true + type: number + - default: 110 + envKey: PORT_POP3 + label: + en: POP3 Port + ja: POP3ポート + ms: Port POP3 + pt-br: Porta POP3 + ru: Порт POP3 + ko: POP3 포트 + zh-hant: POP3 連接埠 + zh: POP3端口 + required: true + type: number + - default: 995 + envKey: PORT_POP3_SSL + label: + en: POP3 SSL Port + ja: POP3 SSLポート + ms: Port POP3 SSL + pt-br: Porta POP3 SSL + ru: Порт POP3 SSL + ko: POP3 SSL 포트 + zh-hant: POP3 SSL 連接埠 + zh: POP3 SSL端口 + required: true + type: number + - default: 4190 + envKey: PORT_MANAGESIEVE + label: + en: ManageSieve Port + ja: ManageSieveポート + ms: Port ManageSieve + pt-br: Porta ManageSieve + ru: Порт ManageSieve + ko: ManageSieve 포트 + zh-hant: ManageSieve 連接埠 + zh: ManageSieve端口 + required: true + type: number diff --git a/stalwart-mail/v0.11.7-alpine/docker-compose.yml b/stalwart-mail/v0.11.7-alpine/docker-compose.yml new file mode 100755 index 000000000..7db79a3ca --- /dev/null +++ b/stalwart-mail/v0.11.7-alpine/docker-compose.yml @@ -0,0 +1,26 @@ +services: + stalwart-mail: + image: stalwartlabs/mail-server:v0.11.7-alpine + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTPS}:443" + - "${PANEL_APP_PORT_HTTP}:8080" + - "${PORT_SMTP}:25" + - "${PORT_SMTP_SUBMISSION}:587" + - "${PORT_SMTP_SSL}:465" + - "${PORT_IMAP}:143" + - "${PORT_IMAP_SSL}:993" + - "${PORT_POP3}:110" + - "${PORT_POP3_SSL}:995" + - "${PORT_MANAGESIEVE}:4190" + volumes: + - ./data:/opt/stalwart-mail + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true