Email Account
Un Email Account est un expéditeur SMTP que l'on enregistre dans un Space. C'est une ressource qui regroupe et conserve en un seul endroit l'adresse du serveur d'envoi, les informations de connexion et l'adresse d'expéditeur. Lorsque le statement EmailSend d'un Script s'exécute, c'est par le biais de cet Email Account que le courriel part réellement. Par exemple, pour envoyer un courriel de confirmation à chaque commande dans une boutique de vêtements en ligne, on enregistre d'abord l'Email Account qui servira à l'envoi, puis on fait en sorte qu'un Script le référence.
L'Email Account est une ressource sous-jacente au Space gérée via CMA ; son chemin se fonde sur /spaces/{spaceId}/email-accounts. Il n'a pas de notion de publication (publish). Sans valeur de statut ni étape de publication, il est utilisable pour l'envoi dès sa création. En revanche, on traite ci-dessous deux points : la création n'est pas une opération de lecture inoffensive mais une opération qui envoie réellement un courriel pour valider la configuration, et les informations de connexion (endpoint, username, password) ne peuvent plus être modifiées une fois créées.
Structure de la ressource
Voici la réponse renvoyée à la création d'un Email Account. sys (les propriétés système) contient l'identifiant et la version, et le corps contient la configuration de l'expéditeur (name, endpoint, username, fromAddress, fromName). Le mot de passe (password) n'apparaît nulle part dans la réponse.
{
"sys": {
"id": "3trmXRMdKpLc7GfNbyVQeR2WsT9LnU",
"type": "EmailAccount",
"space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
"createdBy": { "sys": { "id": "9dLmQ2pVnRb8sTfWcXd3LhJ7gK", "type": "Refer", "targetType": "User" } },
"createdAt": "2026-08-04T05:12:44.108Z",
"updatedBy": { "sys": { "id": "9dLmQ2pVnRb8sTfWcXd3LhJ7gK", "type": "Refer", "targetType": "User" } },
"updatedAt": "2026-08-04T05:12:44.108Z",
"version": 1
},
"name": "Notifications de commande",
"endpoint": {
"host": "smtp.gmail.com",
"port": 587,
"security": "StartTls"
},
"username": "orders@example-shop.com",
"fromAddress": "orders@example-shop.com",
"fromName": "Boutique de vêtements"
}Clés principales :
sys.id: l'identifiant unique de l'Email Account. Il s'insère dans le{emailAccountId}des chemins de lecture, modification et suppression individuelles.sys.version: la version de la ressource. Elle commence à 1 et augmente à chaque modification. On transmet cette valeur dans l'en-têteX-Weegloo-Versionde la requête de modification (voir Statut et contraintes ci-dessous).name: le libellé affiché dans la console (par ex.Notifications de commande). Il ne sert pas à l'envoi et n'est pas le nom d'affichage From. C'est seulement un nom permettant de distinguer plusieurs expéditeurs.endpoint: le serveur SMTP auquel se connecter. Il se compose des trois valeurshost,portetsecurity.username: le nom d'utilisateur de connexion SMTP. Il varie selon le fournisseur. Il peut être l'adresse e-mail telle quelle, une chaîne fixe définie par le service d'envoi, ou une connexion au niveau du domaine.fromAddress: l'adresse d'expéditeur. Elle sert à la fois d'adresse de retour de l'enveloppe d'envoi (MAIL FROM) et d'adresse From visible par le destinataire.fromName: le nom d'affichage visible dans l'en-tête From (facultatif). En son absence, seule l'adresse apparaît.
Le mot de passe (password) est une valeur en écriture seule que l'on n'envoie que dans le corps de la requête de création : il ne réapparaît donc ni dans la réponse ci-dessus, ni dans aucune lecture ou liste ultérieure. Le username, en revanche, apparaît dans la réponse de lecture tel qu'il a été saisi.
Propriétés système (sys)
Chaque Email Account place les propriétés système communes dans l'objet sys. space, createdBy et updatedBy s'y trouvent sous la forme Refer ({ "sys": { "id", "type": "Refer", "targetType" } }).
| Propriété | Type | Description |
|---|---|---|
id | string | L'identifiant unique de la ressource. |
type | string | Le type de ressource. Pour un Email Account, toujours "EmailAccount". |
space | Refer<Space> | Le Space auquel appartient cet expéditeur. |
createdBy | Refer<User> | L'utilisateur qui l'a enregistré. |
createdAt | string (date-time) | L'instant de création. |
updatedBy | Refer<User> | L'utilisateur qui l'a modifié en dernier. |
updatedAt | string (date-time) | L'instant de la dernière modification. |
version | integer (≥1) | La version de la ressource. À la modification, on envoie la valeur actuelle dans l'en-tête X-Weegloo-Version. |
Propriétés du corps :
| Propriété | Type | Description |
|---|---|---|
name | string (1~64) | Le libellé affiché dans la console. Il ne sert pas à l'envoi et n'est pas le nom d'affichage From. |
endpoint | SmtpEndpoint | Le serveur SMTP auquel se connecter (host, port, security). |
endpoint.host | string | L'hôte du serveur SMTP (par ex. smtp.gmail.com). |
endpoint.port | integer (1~65535) | Le port SMTP. Par convention, 587 va avec StartTls et 465 avec Tls. |
endpoint.security | string | La sécurité du canal de transport. L'une des deux valeurs StartTls ou Tls. Comme un mot de passe transite, une connexion en clair n'est pas autorisée. |
username | string | Le nom d'utilisateur de connexion SMTP. Il varie selon le fournisseur et peut ne pas être une adresse e-mail. |
fromAddress | string (email, ≤254) | L'adresse d'expéditeur. Sert d'adresse de retour de l'enveloppe (MAIL FROM) et d'en-tête From. Le serveur peut la réécrire (par ex. Gmail force le compte authentifié). |
fromName | string | Le nom d'affichage de l'en-tête From. Facultatif. En son absence, seule l'adresse apparaît. |
Entrée réservée au corps de la requête de création :
| Propriété | Type | Description |
|---|---|---|
password | string | Le mot de passe de connexion SMTP. En écriture seule. Il n'apparaît dans aucune réponse ; sa valeur ne peut pas être relue et ne peut qu'être remplacée (recréation). Obligatoire. |
Informations d'expéditeur et informations de connexion
Les valeurs d'un Email Account se répartissent en deux catégories. Cette distinction détermine ce que l'on peut modifier.
- Informations de connexion —
endpoint,username,password. Non modifiables après la création. Pour changer de serveur d'envoi ou faire tourner les informations de connexion, on crée un nouvel Email Account et l'on supprime l'ancien. Comme le mot de passe ne peut pas être relu (voir ci-dessus), en cas de perte on procède par recréation et non par réinitialisation. - Informations d'expéditeur —
name,fromAddress,fromName. Modifiables même après la création, via une modification (PUT). On s'en sert pour réorganiser le libellé ou changer l'adresse d'expéditeur et le nom d'affichage ; les informations de connexion restent alors inchangées.
La création envoie réellement un courriel
La création d'un Email Account n'est pas une opération qui se contente d'enregistrer la configuration. Avant l'enregistrement, le serveur se connecte réellement avec les endpoint, username et password fournis et envoie un courriel de test. Le destinataire est fromAddress ; si username est une autre adresse, celle-ci peut également être incluse.
- La ressource n'est enregistrée que si l'envoi réussit.
- Si le serveur refuse à l'une quelconque des étapes (connexion, authentification, envoi), l'opération échoue sans que rien ne soit créé, et la réponse contient le motif d'échec renvoyé par le serveur.
Il faut donc garder à l'esprit que répéter la création avec des valeurs erronées déclenche à chaque fois une tentative d'envoi réelle.
Statut et contraintes
Les contraintes de valeur à respecter lors de la création et de la modification.
| Élément | Contrainte |
|---|---|
name | 1 à 64 caractères, obligatoire. |
endpoint.host | Obligatoire. |
endpoint.port | 1 à 65535, obligatoire. |
endpoint.security | StartTls ou Tls, obligatoire. Clair interdit. |
username | Obligatoire (à la création). Immuable après la création. |
password | Obligatoire (à la création), en écriture seule. Immuable après la création (remplacement = recréation). |
fromAddress | Format e-mail, 254 caractères au plus, obligatoire. |
fromName | Facultatif. |
Règles de comportement et de permissions :
- Les informations de connexion sont immuables. Seuls
name,fromAddressetfromNamepeuvent être changés viaUpdate(PUT). Pour changerendpoint,usernameoupassword, on en crée un nouveau et l'on supprime l'ancien. - La modification nécessite la version. On envoie la valeur
sys.versionactuelle dans l'en-têteX-Weegloo-Versionde la requêteUpdate. Si la valeur n'est pas à jour, la requête est refusée pour conflit de version. Dans ce cas, on relit la ressource et l'on réessaie avec lesys.versionle plus récent. - Le mot de passe ne peut pas être relu. Comme il n'apparaît dans aucune lecture ni liste, en cas de perte on procède par recréation et non par réinitialisation.
- Les serveurs SMTP disponibles diffèrent selon la formule. Les hôtes de fournisseurs proposés en préréglage (Gmail, Naver, Resend, Brevo) peuvent être enregistrés même sur les formules inférieures. Un hôte arbitraire (auto-hébergé) absent des préréglages n'est utilisable que si un moyen de paiement est enregistré. Pour la politique par formule, consultez Tarifs.
API
Le baseUrl de tous les endpoints ci-dessous est https://cma.weegloo.com/v1, et l'en-tête Authorization requiert un jeton Bearer authentifiant CMA. La modification (PUT) requiert en plus l'en-tête X-Weegloo-Version.
