Aller au contenu principal

MailTemplate

Bêta

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.

apiVersionmail.stackngo.io/v1alpha1
kindMailTemplate
Appliqué parsng 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​

bienvenue.yml
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é​

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

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

Statut et conditions​

ConditionSens
ValidLe gabarit se compile ; sinon le message indique la partie et la ligne de l'erreur
ReadyLe 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.

Voir aussi​