Skip to main content

MailUser

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
kindMailUser
Applied bysng apply or the console (E-mails page)

What it is for​

A MailUser is a sender address (the From) your tenant may use, attached to a MailProvider. It is neither a recipient nor an account that signs in.

Sending is refused until the address's domain is verified. The platform checks:

  • that the domain is yours (a TXT record to publish, or a domain already managed in your tenant);
  • the domain's SPF, DMARC and DKIM.

status.verification gives the result and, for each missing check, the value to publish.

Minimal example​

sender.yml
apiVersion: mail.stackngo.io/v1alpha1
kind: MailUser
metadata:
name: notifications
spec:
address: notifications@example.com
providerRef:
name: main

Complete annotated example​

sender.yml
apiVersion: mail.stackngo.io/v1alpha1
kind: MailUser
metadata:
name: notifications
spec:
address: notifications@example.com # bare address, no display name
displayName: Example # name shown before the address
providerRef:
name: main # MailProvider of your tenant
replyTo: support@example.com # optional

Fields​

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.

Status and conditions​

ConditionMeaning
ProviderReadyThe attached provider is Ready
DomainVerifiedThe domain is verified
ReadyBoth above are true: the address can send

status.verification.phase is Pending, Verified or Failed. For a pending domain, ownershipRecord gives the TXT record to publish; each SPF, DMARC and DKIM check reports Pass, Missing, Invalid or Skipped, with the suggested value when the record is missing.

What happens when you apply​

Verification starts right away and repeats regularly. If the domain is in a zone managed by StackNGO, proof of ownership is automatic.

What happens when you delete​

The address can no longer send; pending messages that reference it fail.

See also​