f06de85257
docs 目录包含一个 VitePress 构建的静态文档站点。 mjml 目录包含 HTML 邮件模板。这些模板将被编译为 Jinja2 模板,然后由 NyaHome 动态渲染后发送。
26 lines
1.0 KiB
Markdown
26 lines
1.0 KiB
Markdown
# 邮件模板
|
|
|
|
NyaHome 希望发送 HTML 邮件,但是用于邮件的 HTML 在 2026 年依然是重灾区。因此,NyaHome 决定采用 mjml 配合 Jinja2 制作并渲染邮件模板。
|
|
|
|
## 有关工作流程
|
|
|
|
项目根目录下的 `mjml` 内是 mjml 源文件。这是一种类 xaml 格式的文件,采用独特的语法像编写 HTML 一样编写用于邮件的……也是
|
|
HTML。
|
|
|
|
通过以下命令,这些 mjml 源文件将会被编译为 j2 源文件,也就是 Jinja2 的模板文件。
|
|
|
|
```bash
|
|
pnpm mjml mjml/filename.mjml -o public/templates/filename.j2
|
|
```
|
|
|
|
Jinja2 在 NyaHome 进程中读取模板,渲染变量,然后由 aiosmptplib 发送渲染好的 HTML 邮件。
|
|
|
|
## 在 PyCharm 中预览 mjml 源文件
|
|
|
|
使用 **MJML Support** 插件以支持 mjml 源文件的语法高亮、智能补全和实时预览。
|
|
|
|
:::warning
|
|
MJML Support 插件不支持 JetBrains 远程开发。在远程开发(包括使用 Gateway 进行 WSL 开发)中,IDE client 无法对 mjml
|
|
源文件进行实时预览。
|
|
:::
|