Aller au contenu principal

MailUser

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
kindMailUser
Appliqué parsng 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​

expediteur.yml
apiVersion: mail.stackngo.io/v1alpha1
kind: MailUser
metadata:
name: notifications
spec:
address: notifications@exemple.fr
providerRef:
name: principal

Exemple complet commenté​

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

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

MailUserSpec​

MailUserSpec : une adresse d'expéditeur autorisée.

ChampDescriptionDéfautValidation
address stringAddress : 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 stringNom affiché avec l'adresse d'expédition.MaxLength: 128
providerRef LocalObjectRefFournisseur d'envoi (MailProvider de votre tenant) utilisé pour cet expéditeur.
replyTo stringAdresse de réponse (facultative).MaxLength: 254

MailUserStatus​

MailUserStatus : état observé.

ChampDescriptionDéfautValidation
observedGeneration integerDernière version du manifeste prise en compte par la plateforme.
domain stringDomaine de l'adresse d'expédition.
verification MailUserVerificationÉtat de la vérification du domaine : propriété, SPF, DMARC et DKIM.
conditions Condition arrayConditions 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.

ChampDescriptionDéfautValidation
name stringNom de l'objet, dans votre tenant.MaxLength: 253
MinLength: 1

MailUserVerification​

MailUserVerification : vérification du domaine.

ChampDescriptionDéfautValidation
phase stringPending, Verified ou Failed.
ownership stringOwnership : 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 DNSRecordOwnershipRecord : TXT à poser quand aucune autre preuve n'existe.
spf DNSCheckRésultat du contrôle SPF.
dmarc DNSCheckRésultat du contrôle DMARC.
dkim DNSCheckRésultat du contrôle DKIM.
checkedAt TimeDate de la dernière vérification.
failures integerFailures : échecs consécutifs (un Verified ne repasse Failed qu'après deux échecs).

DNSRecord​

DNSRecord : enregistrement à poser.

ChampDescriptionDéfautValidation
name stringNom de l'enregistrement à créer.
type stringType de l'enregistrement (TXT).
value stringValeur de l'enregistrement.

DNSCheck​

DNSCheck : résultat d'un contrôle SPF, DMARC ou DKIM.

ChampDescriptionDéfautValidation
state stringState : Pass, Missing, Invalid ou Skipped.
record stringRecord : valeur trouvée, ou valeur proposée si absente.

Statut et conditions​

ConditionSens
ProviderReadyLe fournisseur rattaché est Ready
DomainVerifiedLe domaine est vérifié
ReadyLes 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.

Voir aussi​