Skip to main content

MailTemplate

Beta

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.

apiVersionmail.stackngo.io/v1alpha1
kindMailTemplate
Applied bysng 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​

welcome.yml
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​

welcome.yml
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.

ChampDescriptionDéfautValidation
apiVersion stringmail.stackngo.io/v1alpha1
kind stringMailTemplate
metadata ObjectMetaSeul metadata.name est à renseigner (nom de la ressource dans votre tenant).
spec MailTemplateSpec
status MailTemplateStatus

MailTemplateSpec​

MailTemplateSpec : sujet, texte et HTML optionnel.

ChampDescriptionDéfautValidation
key stringKey : 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 stringLangue du gabarit. Seule la valeur fr est acceptée.Enum: [fr]
description stringDescription libre du gabarit.MaxLength: 512
subject stringSujet du message, sur une seule ligne. Peut utiliser les variables, par exemple Bienvenue {{.Prenom}}.MaxLength: 256
MinLength: 1
text stringCorps du message en texte brut. Peut utiliser les variables.MaxLength: 65536
MinLength: 1
html stringCorps du message en HTML (facultatif). Les valeurs des variables y sont échappées automatiquement.MaxLength: 131072
variables TemplateVariable arrayVariables que le gabarit utilise. Toute variable utilisée doit être déclarée.MaxItems: 64

MailTemplateStatus​

MailTemplateStatus : état observé.

ChampDescriptionDéfautValidation
observedGeneration integerDernière version du manifeste prise en compte par la plateforme.
conditions Condition arrayConditions du gabarit : Valid (le message de la condition indique l'erreur) et Ready.

TemplateVariable​

TemplateVariable : variable déclarée d'un gabarit.

ChampDescriptionDéfautValidation
name stringNom de la variable, utilisé dans le gabarit sous la forme {{.Nom}}.Pattern: ^[A-Za-z][A-Za-z0-9_]\{0,63\}$
required booleanRequired : vrai par défaut.true
description stringDescription de la variable.MaxLength: 512
example stringExample sert à l'aperçu de la console.MaxLength: 512

Status and conditions​

ConditionMeaning
ValidThe template compiles; otherwise the message gives the part and line of the error
ReadyThe 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.

See also​