Gitea Mail Template
Gitea Mail Template 为自托管的 Gitea 提供多种可选、适合的邮件模板风格。
最新发布版:v28.0.0
仓库包含数种主题的 Gitea 邮件模板,适合大多数的部署场景与应用范围。安装前,请根据 Gitea 版本查阅兼容矩阵,选择对应的发行包。
风格画廊
这里展示邮件模板通过预览工具呈现的实际渲染风格和效果。
截图仅展示当前默认构建效果,其他邮件类型和语言可通过本地预览查看;更新截图请参阅截图指南。
安装
选择安装来源
运行 gitea --version 确认部署的 Gitea 实例版本,再按照兼容矩阵选择模板版本。
Warning
我们不建议直接从源码仓库拉取并构建,因为这些版本还未经过完全测试达到发行可用的水平。如果存在未知的模板参数过时或遗漏可能导致 Gitea 实例启动异常。
Tip
如果仍然需要从源码构建邮件模板,下方同样给出的相应步骤方法。
| 来源 | 邮件模板目录 | 准备步骤 |
|---|---|---|
| 发行版 | themes/<名称>/mail/ |
下载并解压推荐版本的发行包 |
| 源码 | build/themes/<名称>/mail/ |
使用 Go 1.24 或更高版本构建 |
从源码构建时,请在仓库根目录执行:
cd tools
go run . build all
cd ..
构建可用模板时需要依赖于 Gitea 官方仓库的资源文件,以确保来源的一致性。因此该命令会自动下载由gitea.lock.json 文件锁定的官方文件,后续构建无需再次下载,使用缓存目录资源即可运行。文件缺失或缓存损坏的处理方式见更新官方快照。
安装主题
将所选主题 mail/ 目录中的内容复制到 <GITEA_CUSTOM>/templates/mail/,然后重启 Gitea 即可生效。复制前请确认实例实际使用的自定义目录。以下是常见部署路径示例:
| 部署方式 | 自定义目录示例 |
|---|---|
| Linux Binary | /var/lib/gitea/custom |
| Docker | /data/gitea |
| Windows | C:\gitea\custom |
例如,在使用 systemd 管理 Gitea 的 Linux 主机上,从已解压的发行包目录执行:
systemctl stop gitea
mkdir -p /var/lib/gitea/custom/templates/mail
cp -r themes/horizon/mail/. /var/lib/gitea/custom/templates/mail/
systemctl restart gitea
Tip
使用源码构建产物时,将复制来源改为
build/themes/horizon/mail/.。Docker 和 Windows 部署请使> 用相应的容器或服务管理方式暂停和重启。
切换主题
先备份或移除上一主题安装的文件,选择新的邮件主题依照上述安装步骤重新操作即可。
确认生效
使用测试账户触发密码重置等邮件通知,检查邮件样式和链接。管理后台的测试邮件按钮不使用自定义邮件模板,因此无法确认邮件模板是否生效。
预览
通过仓库中提供的预览工具,可以在部署前预览邮件不同主题,不同模板类型和语言的渲染效果
静态预览
首先需要在源码仓库中生成预览数据:
cd tools
go run . preview all
cd ..
在浏览器中打开 preview/index.html 即可。无需启动服务器。
热重载开发
cd tools
go run . dev
## 在终端中输入 Ctrl + C 即可终止服务器运行
cd ..
打开 http://127.0.0.1:3456。Go 服务器监听主题文件、共享框架、锁文件与缓存、预览测试数据的变化。一旦监听到文件更改,服务器会将邮件模板重新构建后通过发送事件(SSE)刷新页面,以实现实时热重载。
控制和快捷键
| 控件 | 选项或快捷键 |
|---|---|
| 主题、模板、语言和视图 | ← / → 切换选择框,↑ / ↓ 选择选项 |
| 视图 | Modern 显示渲染结果,Source 显示生成的 HTML 文本 |
| 视口 | Desktop(1386 × 780)、Mobile(390 × 780);快捷键 d / m |
| 信息面板 | p 展开或收起面板 |
Warning
预览使用示例数据渲染模板。浏览器与邮件客户端对 CSS 的支持不同,部署前还需在目标邮件客户端中检查效果。
兼容性
- 最新测试: Gitea 28.0.0
- 最新发布版: v28.0.0
- 上游 Gitea 28.1.0: [PENDING]
项目目录结构
项目按共享框架、主题样式和构建工具组织。源码与文档纳入版本控制,下载的官方文件和生成的模板、预览数据不纳入版本控制。
版本控制中
.github/ # 工作流及维护脚本
release-notes/ # 各版本的发行说明
scripts/ # 文档更新、打包和 Gitea 发布脚本
workflows/ # 验证和发布
docs/ # 中文文档、文档索引和画廊图片
framework/ # 共享邮件控件和布局预设
layouts/ # 各类邮件共用的布局预设
mail/base/ # 页头、操作按钮、备用链接、侧栏和页脚
preview/index.html # 预览界面
themes/<THEME_NAME>/ # 主题源码
tools/ # Go 命令行工具、构建工具和测试
builder/ # 官方模板适配和主题生成
cli/ # 命令定义和参数处理
config/ # 预览配置读取和校验
data/ # 邮件类型说明和预览示例数据
preview/ # 邮件渲染、语言适配和开发服务器
upstream/ # 官方快照下载、校验和翻译键发现
gitea.lock.json # 官方版本标签、提交和文件校验值
README.md
官方模板提供通知内容、条件、主题行和链接;共享框架负责邮件呈现,主题通过元数据和 CSS 选择布局、定义样式。主题目录中不保存官方邮件源码或翻译文件。
不在版本控制中
以下文件由构建和预览命令生成,或按锁文件下载,无需手动维护或提交:
build/themes/<THEME_NAME>/ # 主题构建结果
mail/ # 可安装到 Gitea 的邮件模板
build.json # 构建来源和生成文件的校验记录
build/upstream/ # 锁文件指定的官方模板、语言、资源和许可证
dist/ # 默认输出的发行压缩包
preview/rendered.js # 预览清单
preview/rendered/<LOCALE>.js # 各语言的预览数据
build all 生成全部主题的安装模板,preview all 同时生成模板和各语言的预览数据。首次使用时,工具按 gitea.lock.json 准备缺失的官方文件缓存;后续使用前会校验缓存。
模板类型
当前 Gitea 包含以下 11 种邮件模板 1:
| 文件 | 通知类型 |
|---|---|
mail/user/auth/activate.tmpl |
账户激活 |
mail/user/auth/activate_email.tmpl |
邮箱验证 |
mail/user/auth/register_notify.tmpl |
注册通知 |
mail/user/auth/reset_passwd.tmpl |
密码重置 |
mail/org/team_invite.tmpl |
团队邀请 |
mail/repo/collaborator.tmpl |
添加仓库协作者 |
mail/repo/transfer.tmpl |
仓库所有权转移 |
mail/repo/release.tmpl |
发布新版本 |
mail/repo/actions/workflow_run.tmpl |
Actions 工作流运行 |
mail/repo/issue/assigned.tmpl |
议题或合并请求指派 |
mail/repo/issue/default.tmpl |
议题或合并请求动态 |
参与贡献
欢迎改进主题、工具、文档和翻译。贡献指南介绍了本地环境准备、设计规范、检查要求和发布流程。
许可证
本项目采用 MIT 许可证。生成的发行包保留 Gitea 许可证和快照来源信息,详见第三方声明。
注释
1:Mail templates | Gitea Documentation
本项目与 Gitea 官方无隶属关系。









