MailUser
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.
apiVersion | mail.stackngo.io/v1alpha1 |
kind | MailUser |
| Applied by | sng 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
TXTrecord 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
apiVersion: mail.stackngo.io/v1alpha1
kind: MailUser
metadata:
name: notifications
spec:
address: notifications@example.com
providerRef:
name: main
Complete annotated example
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.
| 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. |
Status and conditions
| Condition | Meaning |
|---|---|
ProviderReady | The attached provider is Ready |
DomainVerified | The domain is verified |
Ready | Both 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.