feat: Add Stalwart Mail Server (#3667)
This commit is contained in:
parent
e066526f88
commit
bfbffbd1a5
|
|
@ -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 的默认端口更改为其他可用端口。
|
||||
|
||||

|
||||
|
||||
2. 在初始设置过程中,请向下滚动并**启用以下选项**:
|
||||
- ✅ **高级设置**
|
||||
- ✅ **外部访问**
|
||||
|
||||

|
||||
|
||||
3. 安装完成并启动 Stalwart 后,请**查看应用日志**。如果日志内容类似下图,说明安装成功,Stalwart 正在运行。
|
||||
|
||||

|
||||
|
||||
> 💡 *请保存日志中显示的账户信息,稍后登录时需要使用。*
|
||||
|
||||
4. 如果您的系统启用了**防火墙**,请确保使用 **TCP 协议** 打开 Stalwart 所需的端口,以确保邮件服务器正常运行。
|
||||
|
||||

|
||||
|
||||
> ⚠️ *在此示例中,端口 `443` 已被 OpenResty 占用,因此我将 Stalwart 的端口更改为 `8443`。*
|
||||
|
||||
5. 设置完成后,在浏览器中打开您之前设置的地址和端口。登录时,请使用**第 3 步日志中显示的用户名和密码**。
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## 📺 高级设置与配置
|
||||
|
||||
有关进一步的配置,可以参考以下两个视频:
|
||||
|
||||
- https://youtu.be/JA_V0GFUwWc?si=71KKiAV59mUoL0X4
|
||||
- https://youtu.be/PMoiJktvzDw?si=hVhQxdLuj7PJJALm
|
||||
|
||||
📌 *感谢视频创作者 —— 强烈推荐用于入门。*
|
||||
|
|
@ -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.
|
||||
|
||||

|
||||
|
||||
2. During the initial setup, scroll down and **enable the following options**:
|
||||
- ✅ **Advanced Settings**
|
||||
- ✅ **External Access**
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
> 💡 *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.
|
||||
|
||||

|
||||
|
||||
> ⚠️ *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.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## 📺 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.*
|
||||
|
|
@ -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/
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.5 KiB |
|
|
@ -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
|
||||
|
|
@ -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
|
||||
Loading…
Reference in New Issue