Démarrage rapide
Envoyez votre premier e-mail avec Mail.Land en moins de 5 minutes
Prérequis
- Un compte MailLand (inscrivez-vous)
- Un domaine d'envoi vérifié
- Une clé API (identifiant)
Les identifiants Sandbox nécessitent aussi un domaine d'envoi enregistré et vérifié. Ils ne livrent jamais aux destinataires ordinaires : un envoi Sandbox est accepté et journalisé, ou livré uniquement aux adresses de votre liste d'autorisation sandbox (Paramètres → Sandbox Allow List). Les nouveaux espaces de travail sont limités à cette liste jusqu'à leur vérification.
Envoyez votre premier e-mail
Obtenez votre clé API
Après avoir créé votre compte et votre espace de travail, ouvrez Credentials dans la barre latérale et créez un nouvel identifiant :
- Produit : Sending
- Mode : Production (ou Sandbox pour les tests)
- Flux : Transactional
- Canal : API
Copiez la clé API : elle n'est affichée qu'une seule fois. La clé ressemble à ceci :
ml_pet_Ab3Kx9mN2pQ7rT4wL8yD...Le préfixe encode le type d'identifiant :
ml_: toutes les clés MailLand commencent par cecipous: mode Production ou Sandboxe,iouv, produit Sending/Email, Inbound ou Validation (les clés Sending portent aussi une lettre de flux :etpour transactionnel,empour marketing, ex.ml_pet_...)
Envoyez un e-mail
Effectuez une requête POST vers le endpoint d'envoi avec les détails de votre e-mail :
curl -X POST https://api.mail.land/v1/transactional/send \
-H "X-API-Key: ml_pet_Ab3Kx9mN2pQ7rT4wL8yD..." \
-H "Content-Type: application/json" \
-d '{
"from": {
"email": "[email protected]",
"name": "Your App"
},
"to": [
{
"email": "[email protected]",
"name": "Jane Doe"
}
],
"subject": "Welcome to our platform",
"htmlContent": "<h1>Welcome!</h1><p>Thanks for signing up.</p>",
"textContent": "Welcome! Thanks for signing up."
}'Vérifiez la réponse
Une réponse réussie renvoie 202 Accepted avec les détails de l'e-mail mis en file d'attente :
{
"success": true,
"jobId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"messageIds": ["t_a1b2c3d4e5f6..."],
"acceptedRecipients": ["[email protected]"],
"rejectedRecipients": [],
"queuedAt": "2026-02-17T10:30:00Z",
"isSandboxed": false
}Champs principaux :
- jobId : identifiant unique pour suivre cette opération d'envoi
- messageIds : identifiants de messages individuels (préfixés
t_pour transactionnel,m_pour marketing) - acceptedRecipients : adresses e-mail acceptées pour la livraison
- rejectedRecipients : adresses e-mail rejetées (avec les raisons)
- isSandboxed :
truesi la requête a utilisé un identifiant sandbox : l'e-mail a été journalisé mais non envoyé, ou envoyé uniquement aux destinataires de la liste d'autorisation
Erreurs courantes
| Statut | Code d'erreur | Signification |
|---|---|---|
401 | UNAUTHORIZED | X-API-Key manquante, invalide, expirée ou révoquée |
422 | DOMAIN_NOT_VERIFIED | Le domaine d'envoi n'est pas vérifié |
429 | RATE_LIMIT_EXCEEDED | Trop de requêtes : consultez l'en-tête Retry-After |
429 | QUOTA_EXCEEDED | Quota d'envoi mensuel atteint |
429 | SENDING_BLOCKED | Le niveau de vérification de votre compte ne permet pas encore cet envoi : complétez la vérification (le marketing nécessite la vérification d'entreprise) |
403 | SENDING_BLOCKED | L'envoi est entièrement bloqué pour ce compte. Réessayer n'aide pas ; contactez le support |
Toutes les erreurs renvoient un corps JSON avec les champs code et message :
{
"code": "DOMAIN_NOT_VERIFIED",
"message": "Domain is not verified",
"timestamp": "2026-02-17T10:30:00Z",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01"
}Et ensuite
- Référence de l'API REST : documentation complète de l'API avec tous les champs et options
- Relais SMTP : envoyez des e-mails via SMTP au lieu de REST
- Configuration du domaine : ajoutez et vérifiez votre domaine d'envoi
- Clés API : configurez les identifiants avec des limites de débit et des restrictions IP