Adresses d’expéditeur avec API et MCP
Configurez des identités d’expéditeur comme Gmail pour une boîte connectée, choisissez leur route SMTP et utilisez-les via l’API ou MCP.
Détails de l’article
Type, difficulté, forfaits et date de dernière mise à jour.
▼
Détails de l’article
Type, difficulté, forfaits et date de dernière mise à jour.
- Type
- Guide
- Difficulté
- Avancé
- Forfaits
- Pro · Agency
- Dernière mise à jour
- 23 août 2026
TrekMail sépare deux tâches qui utilisent des identifiants et des autorisations différents :
- L’interface Tableau de bord/Ops gère les profils SMTP réutilisables et le routage des domaines. Elle utilise un jeton
tm_live_avecsmtp:readousmtp:write. - L’interface Messagerie web/Messages gère les adresses d’expéditeur disponibles pour une boîte et une boîte de réception connectée. Elle utilise un jeton
tm_msg_avecmessages:read,messages:writeoumessages:send.
Cette séparation est volontaire. Un jeton de boîte peut sélectionner une route d’envoi déjà autorisée, mais il ne peut pas révéler les identifiants SMTP ni gérer l’infrastructure d’un autre compte.
En bref
- Si vous envoyez uniquement avec
external_account_id, les destinataires voient l’adresse propre de ce compte connecté et son propre serveur SMTP est utilisé. - Si vous envoyez aussi un
identity_idlié à la source, les destinataires voient l’adresse professionnelle de l’identité. TrekMail utilise la route du domaine ou le profil SMTP enregistré attribué à cette identité, puis conserve la copie Envoyés dans la boîte connectée. - Starter permet de configurer et d’utiliser cette fonction dans la messagerie web. Pro et Agency permettent aussi de l’automatiser par API ou MCP. Nano ne propose aucun emplacement de compte connecté.
Les outils API et MCP disponibles évoluent avec le produit. Envoyer en tant que utilise les familles SMTP et de messages, et chaque connexion ne voit que le sous-ensemble autorisé par son forfait, ses portées et ses permissions approuvées.
Modèle de routage
Lorsque external_account_id est envoyé sans identity_id, TrekMail utilise le propre serveur SMTP de ce compte externe et sa propre adresse.
Lorsque les deux valeurs sont envoyées, TrekMail considère le compte externe comme la destination de la boîte de réception/Envoyés et l’identité comme l’adresse d’expéditeur visible + route SMTP :
connected Gmail inbox
+ Send As identity sales@example.com
+ identity route: domain or saved SMTP profile
= recipients see sales@example.com
mail is delivered through the identity route
the Sent copy is appended to that Gmail account
L’identité et le compte externe doivent être liés. Omettre la source ou fournir une identité provenant d’une autre boîte renvoie 422 identity_unavailable.
1. Examiner ou configurer SMTP dans l’API du tableau de bord
Utilisez un jeton Ops.
| Méthode | Chemin | Portée | Objectif |
|---|---|---|---|
GET |
/api/v1/smtp/default |
smtp:read |
Route par défaut du compte |
PUT |
/api/v1/smtp/default |
smtp:write |
Modifier la valeur par défaut et, facultativement, l’appliquer à tous les domaines |
GET |
/api/v1/domains/{domain}/smtp |
smtp:read |
Route effective d’un domaine |
PUT |
/api/v1/domains/{domain}/smtp |
smtp:write |
Sélectionner le SMTP géré, un profil, l’héritage ou aucune configuration |
GET |
/api/v1/domains/{domain}/smtp/profiles |
smtp:read |
Profils enregistrés et nombres d’utilisations |
GET |
/api/v1/domains/{domain}/smtp/profiles/{profile}/usage |
smtp:read |
Domaines et adresses Envoyer en tant que exacts utilisant le profil |
POST |
/api/v1/domains/{domain}/smtp/profiles |
smtp:write |
Créer un profil réutilisable |
PUT |
/api/v1/domains/{domain}/smtp/profiles/{profile} |
smtp:write |
Mettre à jour un profil |
DELETE |
/api/v1/domains/{domain}/smtp/profiles/{profile} |
smtp:write |
Supprimer un profil avec retrait sécurisé de la route |
La lecture d’un profil ne renvoie jamais le mot de passe. L’endpoint d’utilisation permet à un agent d’expliquer sans risque les conséquences avant de modifier ou supprimer un profil partagé.
Outils MCP : get_domain_smtp, set_domain_smtp, list_domain_smtp_profiles, get_domain_smtp_profile_usage, create_domain_smtp_profile, update_domain_smtp_profile, delete_domain_smtp_profile, test_domain_smtp, get_domain_smtp_test_status, get_account_smtp_default, set_account_smtp_default.
2. Répertorier les adresses pour la boîte exacte
Utilisez un jeton Messages :
GET /api/v1/messages/identities?external_account_id=42
Authorization: Bearer tm_msg_...
La réponse comprend les identities propres à la source, toutes les external_identities configurées, les sending_addresses, les send_as_domains admissibles, la reply_from_policy de la boîte et, uniquement pour la boîte du propriétaire du compte, les smtp_profiles enregistrés qui peuvent être sélectionnés directement.
MCP : appelez list_identities avec external_account_id.
MCP hébergé et stdio local
Les outils de messages présentent une différence de transport importante :
- MCP HTTP hébergé (OAuth) : transmettez aussi
mailbox_idà chaque appel d’outil de messages. Le serveur hébergé l’utilise pour créer un jeton de messages de courte durée pour cette boîte exacte. Par exemple, appelezlist_identitiesavec{ "mailbox_id": 7, "external_account_id": 42 }. - MCP stdio auto-hébergé (
tm_msg_) : ne transmettez pasmailbox_id. Le jeton de messages statique est déjà lié à une boîte, donc le schéma de l’outil a seulement besoin deexternal_account_id.
external_account_id ne remplace jamais mailbox_id : il sélectionne une boîte de réception connectée dans la boîte déjà autorisée. Les outils SMTP du tableau de bord restent limités au compte et n’acceptent mailbox_id dans aucun des deux transports.
3. Créer une identité Envoyer en tant que
POST /api/v1/messages/identities
Authorization: Bearer tm_msg_...
Idempotency-Key: send-as-sales-v1
Content-Type: application/json
{
"kind": "send_as",
"external_account_id": 42,
"email": "sales@example.com",
"name": "Example Sales",
"reply_to": "sales@example.com",
"smtp_mode": "domain"
}
email doit déjà être l’adresse principale de cette boîte ou un alias actif autorisé à envoyer. Son domaine doit être actif et appartenir au même compte. smtp_mode: domain suit la route du domaine configurée dans le tableau de bord. smtp_mode: profile associe l’identité à smtp_connection_id; la sélection directe d’un profil est réservée à la boîte du propriétaire du compte.
external_account_id est facultatif, et il convient de préciser sa signification :
- Incluez-le lorsque vous lisez les messages de cette adresse par une boîte Gmail, Outlook ou IMAP connectée. L’identité est alors liée à cette boîte et ne peut être utilisée qu’avec elle.
- Omettez-le lorsque les messages sont plutôt transférés dans une boîte TrekMail, selon le flux de boîte partagée où un client conserve ses messages chez son propre fournisseur et en transfère des copies à une boîte d’équipe. L’identité appartient à la boîte elle-même et tout membre autorisé à envoyer peut l’utiliser.
Une boîte de réception personnelle connectée ne peut jamais être associée à une boîte partagée : elle reste privée pour la personne qui l’a connectée. Omettez alors external_account_id.
MCP : create_identity avec kind=send_as. Sur le MCP hébergé, incluez le mailbox_id parent comme indiqué ci-dessus.
4. Envoyer, créer un brouillon, programmer, répondre ou transférer
Les opérations de messages ordinaires acceptent la même paire de sources :
{
"external_account_id": 42,
"identity_id": 91,
"to": ["customer@example.net"],
"subject": "Hello",
"body": { "text": "Hello from Example Sales" }
}
identity_id est pris en charge par l’envoi immédiat, l’enregistrement/mise à jour des brouillons et l’envoi programmé. La préparation d’une réponse ou d’un transfert accepte external_account_id et sélectionne l’identité correspondante à partir des en-têtes de livraison. L’identité sélectionnée est de nouveau autorisée au moment d’exécuter un message en attente. Désactiver son alias, son domaine, son profil ou son compte connecté arrête la livraison au lieu d’utiliser silencieusement une autre adresse d’expéditeur.
Outils MCP : send_message, save_draft, update_draft, schedule_message, prepare_reply, prepare_reply_all et prepare_forward.
Politique de réponse
PATCH /api/v1/messages/identities/reply-policy
Authorization: Bearer tm_msg_...
Idempotency-Key: reply-policy-v1
{ "reply_from_policy": "recipient" }
recipient répond depuis l’adresse qui a reçu le message lorsque c’est possible. default commence toujours par la valeur par défaut de la boîte pour les messages ordinaires. MCP utilise set_reply_from_policy.
Règles de sécurité et d’isolation
- Les identifiants SMTP ne figurent jamais dans la réponse de l’API de messages ou de MCP.
- Chaque compte externe et chaque identité est limité à la boîte du jeton de messages.
- Une identité Envoyer en tant que connectée ne peut être utilisée qu’avec son
external_account_idexact; une identité appartenant à la boîte ne peut être utilisée que sans celui-ci. - L’adresse d’expéditeur doit déjà être autorisée comme adresse de boîte ou alias autorisé à envoyer; l’API ne peut pas inventer d’adresses d’expéditeur arbitraires.
- Une route fonctionnelle est requise avant la création et de nouveau vérifiée au moment de la livraison.
- Les en-têtes
Reply-Topersonnalisés ne peuvent pas entrer en conflit avec le champ Reply-To enregistré d’une identité. - Les modifications d’identité et de profil par MCP nécessitent l’autorisation d’écriture appropriée. Un administrateur MCP hébergé localement peut exiger une approbation explicite pour les actions d’écriture; l’envoi nécessite aussi une confirmation par message.
Aucune nouvelle chaîne de portée de jeton n’est requise. Les jetons smtp:* et messages:* existants continuent de fonctionner selon leurs autorisations actuelles.
Quelle limite d’envoi s’applique ?
| Route sélectionnée pour le message | Limite de livraison |
|---|---|
| SMTP TrekMail géré | Limites de votre forfait TrekMail et limites de sécurité des nouveaux comptes |
| Profil SMTP personnalisé enregistré | Limites du fournisseur SMTP externe |
SMTP propre au compte connecté (external_account_id sans identity_id) |
Limites de Gmail, Microsoft ou du fournisseur concerné |
Les appels API conservent aussi leurs protections contre les abus : par défaut, 60 requêtes d’envoi par minute et par jeton de messages, et 100 envois API par jour dans l’ensemble de la boîte. Elles s’appliquent quel que soit le serveur qui livre finalement le message.
Articles associés
Articles similaires
Accédez aux guides voisins qui prolongent votre démarche.