MailLandDocs
Démarrage

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 ceci
  • p ou s : mode Production ou Sandbox
  • e, i ou v, produit Sending/Email, Inbound ou Validation (les clés Sending portent aussi une lettre de flux : et pour transactionnel, em pour 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 :

Envoyer un e-mail avec curl
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 :

Réponse : 202 Accepted
{
  "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 : true si 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

StatutCode d'erreurSignification
401UNAUTHORIZEDX-API-Key manquante, invalide, expirée ou révoquée
422DOMAIN_NOT_VERIFIEDLe domaine d'envoi n'est pas vérifié
429RATE_LIMIT_EXCEEDEDTrop de requêtes : consultez l'en-tête Retry-After
429QUOTA_EXCEEDEDQuota d'envoi mensuel atteint
429SENDING_BLOCKEDLe 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)
403SENDING_BLOCKEDL'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 :

Réponse d'erreur
{
  "code": "DOMAIN_NOT_VERIFIED",
  "message": "Domain is not verified",
  "timestamp": "2026-02-17T10:30:00Z",
  "traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01"
}

Et ensuite

Sur cette page