联系我们

课程大纲

Stalwart 简介

  • Stalwart 是什么及其构建原因
  • 单一 Rust 二进制架构
  • 与传统邮件堆栈的对比
  • 许可证:AGPL-3.0 和企业版

安装与初始设置

  • 系统要求和平台支持
  • 通过 Docker 和 Docker Compose 安装
  • 在 Linux 上从二进制文件安装
  • 数据库后端选择
  • 引导模式和设置向导

核心协议与 DNS

  • 配置 SMTP 用于入站和出站
  • 使用 IMAP4 和 JMAP 访问邮件
  • 为遗留客户端配置 POP3
  • DNS 记录:MX、SPF、DKIM、DMARC
  • 自动 DKIM 密钥轮换

安全与认证

  • 使用 ACME 证书配置 TLS
  • DANE 和 MTA-STS 传输安全
  • 认证后端:内部、LDAP、OIDC、SQL
  • OAuth 2.0 和双因素认证
  • 访问控制列表和权限
  • 速率限制和自动 IP 封锁

垃圾邮件与钓鱼防护

  • 内置垃圾邮件过滤器架构
  • AI 和 LLM 驱动分类
  • 统计贝叶斯分类器
  • DNS 黑名单和 Pyzor
  • 灰名单和垃圾邮件陷阱
  • 钓鱼和同形攻击防护

存储与搜索后端

  • 存储选项:RocksDB、PostgreSQL、MySQL、SQLite
  • 使用 S3 和 Azure 的云对象存储
  • 使用 Redis 进行缓存
  • 全文搜索:内置与外部引擎

协作服务

  • CalDAV 和 JMAP 日历
  • CardDAV 和 JMAP 联系人
  • WebDAV 文件存储
  • 使用 ACL 和 JMAP 共享

多租户与用户管理

  • 域和租户隔离
  • 用户帐户和群组
  • 邮件列表和别名
  • 子地址和通配地址
  • 用户和租户的磁盘配额

管理与监控

  • WebUI 仪表盘和统计
  • 用于脚本和自动化的 CLI
  • SMTP 队列管理
  • OpenTelemetry 和 Prometheus 指标
  • 用于事件自动化的 Webhooks

集群与高可用性

  • 点对点集群协调
  • 使用 Kafka 和 Redis 进行集群
  • 读取副本和分片存储
  • Kubernetes 部署
  • 容错设计

高级配置

  • Sieve 脚本语言
  • MTA 钩子和 milter 集成
  • 路由规则和虚拟队列
  • 信封重写

迁移与集成

  • 从 Postfix 和 Dovecot 迁移
  • 从 Exchange 迁移
  • 自动配置和自动发现
  • 自动 DNS 管理
  • API 驱动的声明式部署

要求

  • 熟悉 Linux 命令行操作
  • 基本了解 DNS 概念
  • 熟悉电子邮件基础知识会有所帮助,但非必需

受众

  • 系统管理员
  • DevOps 和平台工程师
  • IT 基础设施专家
  • 任何管理或计划自托管电子邮件部署的人员
 21 小时

即将举行的公开课程

课程分类