mirror of
https://github.com/h44z/wg-portal.git
synced 2025-12-14 10:36:18 +00:00
50 lines
2.3 KiB
Markdown
50 lines
2.3 KiB
Markdown
|
|
WireGuard Portal sends emails when you share a configuration with a user.
|
||
|
|
By default, the application uses embedded templates. You can fully customize these emails by pointing the Portal
|
||
|
|
to a folder containing your own templates. If the folder is empty on startup, the default embedded templates
|
||
|
|
are written there to get you started.
|
||
|
|
|
||
|
|
## Configuration
|
||
|
|
|
||
|
|
To enable custom templates, set the `mail.templates_path` option in the application configuration file
|
||
|
|
or the `WG_PORTAL_MAIL_TEMPLATES_PATH` environment variable to a valid folder path.
|
||
|
|
|
||
|
|
For example:
|
||
|
|
|
||
|
|
```yaml
|
||
|
|
mail:
|
||
|
|
# ... other mail options ...
|
||
|
|
# Path where custom email templates (.gotpl and .gohtml) are stored.
|
||
|
|
# If the directory is empty on startup, the default embedded templates
|
||
|
|
# will be written there so you can modify them.
|
||
|
|
# Leave empty to use embedded templates only.
|
||
|
|
templates_path: "/opt/wg-portal/mail-templates"
|
||
|
|
```
|
||
|
|
|
||
|
|
## Template files and names
|
||
|
|
|
||
|
|
The system expects the following template names. Place files with these names in your `templates_path` to override the defaults.
|
||
|
|
You do not need to override all templates, only the ones you want to customize should be present.
|
||
|
|
|
||
|
|
- Text templates (`.gotpl`):
|
||
|
|
- `mail_with_link.gotpl`
|
||
|
|
- `mail_with_attachment.gotpl`
|
||
|
|
- HTML templates (`.gohtml`):
|
||
|
|
- `mail_with_link.gohtml`
|
||
|
|
- `mail_with_attachment.gohtml`
|
||
|
|
|
||
|
|
Both [text](https://pkg.go.dev/text/template) and [HTML templates](https://pkg.go.dev/html/template) are standard Go
|
||
|
|
templates and receive the following data fields, depending on the email type:
|
||
|
|
|
||
|
|
- Common fields:
|
||
|
|
- `PortalUrl` (string) - external URL of the Portal
|
||
|
|
- `PortalName` (string) - site title/company name
|
||
|
|
- `User` (*domain.User) - the recipient user (may be partially populated when sending to a peer email)
|
||
|
|
- Link email (`mail_with_link.*`):
|
||
|
|
- `Link` (string) - the download link
|
||
|
|
- Attachment email (`mail_with_attachment.*`):
|
||
|
|
- `ConfigFileName` (string) - filename of the attached WireGuard config
|
||
|
|
- `QrcodePngName` (string) - CID content-id of the embedded QR code image
|
||
|
|
|
||
|
|
Tip: You can inspect the embedded templates in the repository under [`internal/app/mail/tpl_files/`](https://github.com/h44z/wg-portal/tree/master/internal/app/mail/tpl_files) for reference.
|
||
|
|
When the directory at `templates_path` is empty, these files are copied to your folder so you can edit them in place.
|