MailTemplate
Fonctionnalité en cours de déploiement. L'interface décrite ici est celle de la prochaine livraison : elle peut encore évoluer, et n'est pas forcément activée sur votre tenant.
apiVersion | mail.stackngo.io/v1alpha1 |
kind | MailTemplate |
| Appliqué par | sng apply ou la console (page E-mails) |
À quoi ça sert
Un MailTemplate porte le sujet et le corps d'un e-mail, avec des variables. Tout envoi passe par un gabarit : un message ne peut pas fournir son propre sujet ou son propre corps, seulement les valeurs des variables.
Les variables s'écrivent {{.Nom}}. Chaque variable utilisée doit être déclarée dans variables, et chaque variable déclarée doit servir. Dans la partie HTML, les valeurs sont échappées automatiquement. Le sujet tient sur une seule ligne.
Exemple minimal
apiVersion: mail.stackngo.io/v1alpha1
kind: MailTemplate
metadata:
name: bienvenue
spec:
lang: fr
subject: "Bienvenue {{.Prenom}}"
text: "Bonjour {{.Prenom}}, votre compte est prêt."
variables:
- name: Prenom
Exemple complet commenté
apiVersion: mail.stackngo.io/v1alpha1
kind: MailTemplate
metadata:
name: bienvenue
spec:
key: bienvenue # clé du gabarit ; défaut : metadata.name
lang: fr # seule valeur acceptée
description: Message envoyé après l'inscription
subject: "Bienvenue {{.Prenom}}"
text: |
Bonjour {{.Prenom}},
votre compte est prêt : {{.Lien}}
html: | # facultatif
<p>Bonjour {{.Prenom}},</p>
<p>votre compte est prêt : <a href="{{.Lien}}">ouvrir</a></p>
variables:
- name: Prenom
example: Camille # sert à l'aperçu dans la console
- name: Lien
example: https://exemple.fr/compte
- name: Code
required: false # facultative à l'envoi
Champs
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 |
Statut et conditions
| Condition | Sens |
|---|---|
Valid | Le gabarit se compile ; sinon le message indique la partie et la ligne de l'erreur |
Ready | Le gabarit peut être utilisé pour un envoi |
Un envoi avec un gabarit non valide est refusé. Une valeur de variable ne dépasse pas 4 Kio.
Ce qui se passe à l'application
Le gabarit est vérifié aussitôt. La console affiche un aperçu texte et HTML avec les valeurs d'exemple des variables.
Ce qui se passe quand vous supprimez
Les envois qui le citent sont refusés.