MailUser
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 | MailUser |
| Appliqué par | sng apply ou la console (page E-mails) |
À quoi ça sert
Un MailUser est une adresse d'expédition (le From) que votre tenant peut utiliser, rattachée à un MailProvider. Ce n'est ni un destinataire, ni un compte qui se connecte.
L'envoi est refusé tant que le domaine de l'adresse n'est pas vérifié. La plateforme contrôle :
- que le domaine est à vous (enregistrement
TXTà poser, ou domaine déjà géré dans votre tenant) ; - le SPF, le DMARC et le DKIM du domaine.
status.verification donne le résultat et, pour chaque contrôle manquant, la valeur à publier.
Exemple minimal
apiVersion: mail.stackngo.io/v1alpha1
kind: MailUser
metadata:
name: notifications
spec:
address: notifications@exemple.fr
providerRef:
name: principal
Exemple complet commenté
apiVersion: mail.stackngo.io/v1alpha1
kind: MailUser
metadata:
name: notifications
spec:
address: notifications@exemple.fr # adresse seule, sans nom affiché
displayName: Exemple # nom affiché devant l'adresse
providerRef:
name: principal # MailProvider de votre tenant
replyTo: support@exemple.fr # facultatif
Champs
MailUser
MailUser : identité d'expéditeur (adresse From), rattachée à un fournisseur.
| Champ | Description | Défaut | Validation |
|---|---|---|---|
apiVersion string | mail.stackngo.io/v1alpha1 | ||
kind string | MailUser | ||
metadata ObjectMeta | Seul metadata.name est à renseigner (nom de la ressource dans votre tenant). | ||
spec MailUserSpec | |||
status MailUserStatus |
MailUserSpec
MailUserSpec : une adresse d'expéditeur autorisée.
| Champ | Description | Défaut | Validation |
|---|---|---|---|
address string | Address : local@domaine, sans nom affiché. | MaxLength: 254 Pattern: ^[A-Za-z0-9.!#$%&'*+/=?^_\{|\}~-]+@[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?)+$ | |
displayName string | Nom affiché avec l'adresse d'expédition. | MaxLength: 128 | |
providerRef LocalObjectRef | Fournisseur d'envoi (MailProvider de votre tenant) utilisé pour cet expéditeur. | ||
replyTo string | Adresse de réponse (facultative). | MaxLength: 254 |
MailUserStatus
MailUserStatus : état observé.
| Champ | Description | Défaut | Validation |
|---|---|---|---|
observedGeneration integer | Dernière version du manifeste prise en compte par la plateforme. | ||
domain string | Domaine de l'adresse d'expédition. | ||
verification MailUserVerification | État de la vérification du domaine : propriété, SPF, DMARC et DKIM. | ||
conditions Condition array | Conditions de l'expéditeur : ProviderReady, DomainVerified et Ready. L'envoi n'est possible que si Ready vaut True. |
LocalObjectRef
LocalObjectRef : référence à un objet de votre tenant.
| Champ | Description | Défaut | Validation |
|---|---|---|---|
name string | Nom de l'objet, dans votre tenant. | MaxLength: 253 MinLength: 1 |
MailUserVerification
MailUserVerification : vérification du domaine.
| Champ | Description | Défaut | Validation |
|---|---|---|---|
phase string | Pending, Verified ou Failed. | ||
ownership string | Ownership : preuve de propriété retenue — TXT (jeton), DNSZone (zone Active du tenant gérée par la plateforme), PlatformSubdomain (<tenant>.<domaine de base>) ou Exempt (plateforme) ; vide si absente. | Enum: [TXT DNSZone PlatformSubdomain Exempt] | |
ownershipRecord DNSRecord | OwnershipRecord : TXT à poser quand aucune autre preuve n'existe. | ||
spf DNSCheck | Résultat du contrôle SPF. | ||
dmarc DNSCheck | Résultat du contrôle DMARC. | ||
dkim DNSCheck | Résultat du contrôle DKIM. | ||
checkedAt Time | Date de la dernière vérification. | ||
failures integer | Failures : échecs consécutifs (un Verified ne repasse Failed qu'après deux échecs). |
DNSRecord
DNSRecord : enregistrement à poser.
| Champ | Description | Défaut | Validation |
|---|---|---|---|
name string | Nom de l'enregistrement à créer. | ||
type string | Type de l'enregistrement (TXT). | ||
value string | Valeur de l'enregistrement. |
DNSCheck
DNSCheck : résultat d'un contrôle SPF, DMARC ou DKIM.
| Champ | Description | Défaut | Validation |
|---|---|---|---|
state string | State : Pass, Missing, Invalid ou Skipped. | ||
record string | Record : valeur trouvée, ou valeur proposée si absente. |
Statut et conditions
| Condition | Sens |
|---|---|
ProviderReady | Le fournisseur rattaché est Ready |
DomainVerified | Le domaine est vérifié |
Ready | Les deux précédentes sont vraies : l'adresse peut envoyer |
status.verification.phase vaut Pending, Verified ou Failed. Pour un domaine en attente, ownershipRecord donne l'enregistrement TXT à publier ; chaque contrôle SPF, DMARC et DKIM indique Pass, Missing, Invalid ou Skipped, avec la valeur proposée quand l'enregistrement manque.
Ce qui se passe à l'application
La vérification démarre aussitôt et se répète régulièrement. Si le domaine est dans une zone gérée par StackNGO, la preuve de propriété est automatique.
Ce qui se passe quand vous supprimez
L'adresse ne peut plus envoyer ; les messages encore en attente qui la citent échouent.