Comptes connectés avec API et MCP
Connectez et gérez Gmail ou d’autres boîtes externes avec l’API de messages et les outils MCP de TrekMail, avec des portées et limites claires.
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
Les comptes connectés permettent à une boîte de messagerie web de lire et d’envoyer des messages depuis des boîtes externes, Gmail, Yahoo, iCloud, Outlook.com/Microsoft 365 ou n’importe quel serveur IMAP. L’API de messages et les outils MCP proposent la même fonctionnalité par programmation : vous pouvez répertorier, ajouter, tester, modifier et supprimer des comptes connectés, mais aussi diriger les appels de messagerie ordinaires (liste, lecture, envoi, indicateurs, déplacement, suppression et dossiers) vers un compte connecté plutôt que vers la propre boîte du jeton.
En clair : mailbox_id sélectionne la boîte TrekMail pour laquelle l’agent peut agir, tandis que external_account_id sélectionne Gmail ou une autre boîte connectée qu’elle contient. Ils ne sont pas interchangeables.
Forfaits, limites et taille du catalogue
| Forfait | Comptes connectés par boîte | Tableau de bord/messagerie web | Gestion par API et MCP |
|---|---|---|---|
| Nano | 0 | Non | Non |
| Starter | 5 | Oui | Non |
| Pro | 10 | Oui | Oui |
| Agency | 30 | Oui | Oui |
La gestion des comptes connectés fournit sept outils de messagerie. Un jeton à portée limitée ne voit que les outils qu’il peut réellement utiliser, et non l’intégralité du catalogue du produit.
Avant de commencer
- Les comptes connectés sont une fonctionnalité de messagerie web et utilisent l’interface du jeton de messages (
/api/v1/messages/...), autorisée par un jeton de messages doté des portées ci-dessous, et non par un jeton d’API du tableau de bord. - Les limites de forfait s’appliquent par boîte : Starter 5, Pro 10, Agency 30. Le forfait Nano n’inclut pas les comptes connectés.
- Chaque endpoint est limité à la propre boîte du jeton. Un jeton ne peut voir et gérer que ses propres comptes connectés, jamais ceux d’une autre boîte.
- Les identifiants et les jetons OAuth sont toujours masqués dans les réponses. Vous pouvez saisir un mot de passe ou un mot de passe d’application, mais vous ne pouvez jamais le relire.
- Les comptes Outlook.com et Microsoft 365 se connectent par la connexion Microsoft (OAuth) dans l’interface de messagerie web. L’API peut les gérer et les utiliser une fois connectés, mais elle n’effectue pas l’étape interactive de consentement Microsoft.
Portées
| Portée | Fonction |
|---|---|
messages:read |
Répertorier les comptes connectés et détecter un fournisseur à partir d’une adresse e-mail |
messages:write |
Ajouter, tester, modifier et supprimer des comptes connectés |
Cibler un compte connecté dans un appel de messagerie exige la même portée que celle déjà requise par cet appel (par exemple, la liste de ses messages exige messages:read, tandis que l’envoi exige messages:send).
Gestion des comptes connectés
Chemin de base : /api/v1/messages/external-accounts
| Méthode | Chemin | Portée | Objectif |
|---|---|---|---|
GET |
/external-accounts |
messages:read |
Répertorier les comptes connectés de la boîte |
POST |
/external-accounts/detect |
messages:read |
Détecter le fournisseur et suggérer les paramètres de serveur à partir d’une adresse e-mail |
POST |
/external-accounts/test |
messages:write |
Tester des identifiants non enregistrés (aucun compte n’est créé) |
POST |
/external-accounts |
messages:write |
Ajouter un compte connecté (test obligatoire, les identifiants incorrects ne sont jamais conservés) |
PATCH |
/external-accounts/{id} |
messages:write |
Modifier le libellé, la couleur, l’option unifiée ou les identifiants |
POST |
/external-accounts/{id}/test |
messages:write |
Tester à nouveau un compte enregistré |
DELETE |
/external-accounts/{id} |
messages:write |
Supprimer un compte (efface les identifiants stockés, sans jamais toucher à la boîte distante) |
Ajouter un compte
POST /api/v1/messages/external-accounts
Scope: messages:write
Corps de la requête :
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
email |
string | Oui | Adresse de la boîte externe |
provider |
string | Oui | gmail, yahoo, aol, icloud, zoho, gmx, yandex, fastmail ou custom |
password |
string | Oui | Mot de passe ou mot de passe d’application (la plupart des fournisseurs exigent un mot de passe d’application) |
imap_host |
string | Oui | Nom d’hôte IMAP |
imap_port |
integer | Oui | 143 ou 993 |
imap_encryption |
string | Oui | ssl ou tls |
smtp_host |
string | Oui | Nom d’hôte SMTP |
smtp_port |
integer | Oui | 465, 587 ou 2525 (le port 25 est refusé) |
smtp_encryption |
string | Oui | ssl ou tls |
imap_username |
string | Non | Utilise par défaut l’adresse e-mail |
smtp_username |
string | Non | Utilise par défaut le nom d’utilisateur IMAP |
smtp_password |
string | Non | Utilise par défaut le mot de passe IMAP |
label |
string | Non | Libellé affiché (l’adresse e-mail par défaut) |
include_in_unified |
boolean | Non | Afficher dans Toutes les boîtes de réception (valeur par défaut true) |
Appelez d’abord POST /external-accounts/detect pour renseigner automatiquement provider et les paramètres du serveur. L’appel de stockage exécute un test IMAP + SMTP réel avant l’enregistrement. Un 422 accompagné d’une catégorie d’erreur (auth, tls, network, transient_throttle) signifie que les identifiants n’ont pas fonctionné et que rien n’a été stocké.
Ciblage d’un compte connecté dans les appels de messagerie
Chaque endpoint de messagerie qui agit sur une boîte accepte un external_account_id facultatif. Fournissez-le pour exécuter l’appel sur ce compte connecté plutôt que sur la propre boîte du jeton, ou omettez-le pour utiliser la boîte elle-même. Cela s’applique à la liste, la lecture, l’envoi, la réponse, les indicateurs, le déplacement, la suppression et la liste des dossiers.
GET /api/v1/messages?external_account_id=42&folder=INBOX
Scope: messages:read
POST /api/v1/messages/send
Scope: messages:send
{
"external_account_id": 42,
"to": "someone@example.com",
"subject": "Sent from my connected account",
"text": "..."
}
Un envoi avec le seul external_account_id passe par le propre serveur SMTP de ce compte (avec le SPF/DKIM de son fournisseur). Fournir à la place un identity_id lié à la source utilise le domaine ou la route du profil enregistré de cette identité d’expéditeur, tout en conservant la copie Envoyés dans la boîte connectée. Le compte doit être opérationnel (status: active). Un compte déconnecté renvoie une erreur vous demandant de le reconnecter. Consultez Adresses d’expéditeur avec API et MCP.
Outils MCP
La même fonctionnalité est proposée aux agents d’IA par MCP (sur le serveur stdio privé comme sur le serveur MCP public) :
| Outil | Portée | Objectif |
|---|---|---|
list_external_accounts |
read | Répertorier les comptes connectés de la boîte |
detect_external_account |
read | Détecter le fournisseur et les paramètres à partir d’une adresse e-mail |
test_external_account |
manage | Tester des identifiants non enregistrés |
create_external_account |
manage | Ajouter un compte connecté |
update_external_account |
manage | Modifier le libellé/la couleur/l’option unifiée/les identifiants |
test_saved_external_account |
manage | Tester à nouveau un compte enregistré |
delete_external_account |
manage | Supprimer un compte connecté |
Les outils de messagerie, list_messages, read_message, send_message, list_folders, update_message_flags, move_message, delete_message, prepare_reply, prepare_reply_all et prepare_forward, acceptent l’argument facultatif external_account_id. L’envoi, la création de brouillons et la programmation acceptent aussi un identity_id lié à la source et renvoyé par list_identities.
Comme les outils de gestion ouvrent des connexions sortantes vers des serveurs de messagerie arbitraires avec des identifiants fournis par l’utilisateur, ils appliquent les mêmes mesures de sécurité que le reste de la fonctionnalité des comptes connectés : liste d’hôtes autorisés, blocage des plages privées, liste de ports autorisés et plafonds de connexions par hôte.
Articles associés
Articles similaires
Accédez aux guides voisins qui prolongent votre démarche.