MailTemplate
Being rolled out. The interface described here is the one of the next release: it may still change, and may not be enabled on your tenant yet.
apiVersion | mail.stackngo.io/v1alpha1 |
kind | MailTemplate |
| Applied by | sng apply or the console (E-mails page) |
What it is for
A MailTemplate holds the subject and body of an e-mail, with variables. Every message goes through a template: a message cannot supply its own subject or body, only the values of the variables.
Variables are written {{.Name}}. Every variable used must be declared in variables, and every declared variable must be used. In the HTML part, values are escaped automatically. The subject is a single line.
Minimal example
apiVersion: mail.stackngo.io/v1alpha1
kind: MailTemplate
metadata:
name: welcome
spec:
lang: fr
subject: "Bienvenue {{.Prenom}}"
text: "Bonjour {{.Prenom}}, votre compte est prêt."
variables:
- name: Prenom
Complete annotated example
apiVersion: mail.stackngo.io/v1alpha1
kind: MailTemplate
metadata:
name: welcome
spec:
key: welcome # template key; default: metadata.name
lang: fr # the only accepted value
description: Message sent after sign-up
subject: "Bienvenue {{.Prenom}}"
text: |
Bonjour {{.Prenom}},
votre compte est prêt : {{.Lien}}
html: | # optional
<p>Bonjour {{.Prenom}},</p>
<p>votre compte est prêt : <a href="{{.Lien}}">ouvrir</a></p>
variables:
- name: Prenom
example: Camille # used by the preview in the console
- name: Lien
example: https://example.com/account
- name: Code
required: false # optional when sending
Fields
MailTemplate
MailTemplate : un gabarit de message.
| Champ | Description | Défaut | Validation |
|---|---|---|---|
apiVersion string | mail.stackngo.io/v1alpha1 | ||
kind string | MailTemplate | ||
metadata ObjectMeta | Seul metadata.name est à renseigner (nom de la ressource dans votre tenant). | ||
spec MailTemplateSpec | |||
status MailTemplateStatus |
MailTemplateSpec
MailTemplateSpec : sujet, texte et HTML optionnel.
| Champ | Description | Défaut | Validation |
|---|---|---|---|
key string | Key : clé du gabarit dans votre tenant, par défaut le nom de l'objet. | Pattern: ^[a-z0-9]([a-z0-9.-]\{0,62\}[a-z0-9])?$ Optional: {} | |
lang string | Langue du gabarit. Seule la valeur fr est acceptée. | Enum: [fr] | |
description string | Description libre du gabarit. | MaxLength: 512 | |
subject string | Sujet du message, sur une seule ligne. Peut utiliser les variables, par exemple Bienvenue {{.Prenom}}. | MaxLength: 256 MinLength: 1 | |
text string | Corps du message en texte brut. Peut utiliser les variables. | MaxLength: 65536 MinLength: 1 | |
html string | Corps du message en HTML (facultatif). Les valeurs des variables y sont échappées automatiquement. | MaxLength: 131072 | |
variables TemplateVariable array | Variables que le gabarit utilise. Toute variable utilisée doit être déclarée. | MaxItems: 64 |
MailTemplateStatus
MailTemplateStatus : état observé.
| Champ | Description | Défaut | Validation |
|---|---|---|---|
observedGeneration integer | Dernière version du manifeste prise en compte par la plateforme. | ||
conditions Condition array | Conditions du gabarit : Valid (le message de la condition indique l'erreur) et Ready. |
TemplateVariable
TemplateVariable : variable déclarée d'un gabarit.
| Champ | Description | Défaut | Validation |
|---|---|---|---|
name string | Nom de la variable, utilisé dans le gabarit sous la forme {{.Nom}}. | Pattern: ^[A-Za-z][A-Za-z0-9_]\{0,63\}$ | |
required boolean | Required : vrai par défaut. | true | |
description string | Description de la variable. | MaxLength: 512 | |
example string | Example sert à l'aperçu de la console. | MaxLength: 512 |
Status and conditions
| Condition | Meaning |
|---|---|
Valid | The template compiles; otherwise the message gives the part and line of the error |
Ready | The template can be used to send |
A message using an invalid template is refused. A variable value is at most 4 KiB.
What happens when you apply
The template is checked right away. The console shows a text and HTML preview with the example values of the variables.
What happens when you delete
Messages that reference it are refused.