sinhaparth5/openmailer

GitHub: sinhaparth5/openmailer

OpenMailer 是一个基于 Spring Boot 的自托管批量邮件平台,提供模板管理、活动发送、域名验证等功能,让团队在自己的基础设施上独立运行邮件操作。

Stars: 0 | Forks: 0

# OpenMailer OpenMailer 是一个自托管邮件平台,使用 Spring Boot、PostgreSQL、Redis、Thymeleaf 和 Tailwind CSS 构建。 ## 概述 OpenMailer 专为希望在自己的基础设施上运行邮件操作,而不是完全依赖第三方 SaaS 工具的团队而设计。 它分离了几个核心关注点: - Spring Boot 中的应用逻辑和 UI - PostgreSQL 中的持久化数据 - Redis 中的临时/缓存工作负载 - VPS 边缘的反向代理和 TLS ## 核心概念 - 模板定义了可复用的邮件内容。 - 活动使用模板加上收件人来发送批量邮件。 - 域名控制已验证的发件人身份和 DNS 记录。 - 提供商负责处理出站投递,例如 SMTP 或外部邮件服务。 ## 技术栈 - Java 25 - Spring Boot - PostgreSQL - Redis - Thymeleaf - Tailwind CSS - Docker Compose ## 本地开发 安装依赖: ``` npm install ``` 运行应用: ``` ./mvnw spring-boot:run ``` 以监听模式运行 Tailwind: ``` npm run watch:css ``` 应用 URL: ``` http://localhost:8080 ``` ## 构建 编译: ``` ./mvnw compile ``` 运行测试: ``` ./mvnw test ``` 打包: ``` ./mvnw clean package ``` ## 生产环境 部署专为带有 Docker Compose 的 VPS 设计。 主要文件: - `deploy/compose.prod.yml` - `.github/workflows/deploy-prod.yml` - `architecture/DEPLOY.md` 在 VPS 上,应用运行在反向代理之后,并在内部暴露于: ``` 127.0.0.1:8080 ``` 在生产环境中,通常的请求流程是: ``` Client -> reverse proxy / WAF -> OpenMailer app -> PostgreSQL / Redis ``` ## 重要路径 - `src/main/java` — 后端代码 - `src/main/resources/templates` — Thymeleaf 视图 - `src/main/resources/static` — CSS、JS、图片 - `src/test/java` — 测试 - `architecture` — 部署和进度文档 ## 备注 - 在 VPS 上使用 `openmailer.env` 配置生产环境变量。 - CI/CD 应仅更新 `openmailer-app`。 - 自定义错误页面位于 `src/main/resources/templates/error`。
标签:DNS记录管理, Docker Compose, Java 25, JS文件枚举, PostgreSQL, Redis, SEO关键词:Spring Boot邮件系统, SEO关键词:开源邮件系统, SEO关键词:批量邮件软件, SEO关键词:自托管邮件营销, SMTP, Spring Boot, Tailwind CSS, Thymeleaf, VPS部署, WAF, 企业级邮件系统, 反向代理, 发送者身份验证, 后端开发, 域名验证, 开源邮件系统, 批量邮件发送, 搜索引擎查询, 数据库, 模板引擎, 测试用例, 版权保护, 独立站邮件系统, 缓存管理, 自托管平台, 营销自动化, 软件分析, 邮件模板, 邮件营销