Vue d'ensemble de la délivrabilité
Surveillez la réputation de l'expéditeur, les taux de livraison et l'état DNS de tous vos domaines
MailLand suit la réputation de votre expéditeur à travers un score composite, des tendances de livraison, des analyses par fournisseur et une surveillance de l'état DNS. Utilisez l'API de délivrabilité pour afficher ces métriques dans vos propres tableaux de bord ou pour déclencher des alertes lorsque la réputation diminue.
Score de l'expéditeur
Obtenez un score de réputation de 0 à 100, décomposé en quatre composantes pondérées :
GET https://api.mail.land/v1/deliverability/scoreAuthentifiez-vous avec Authorization: Bearer <token> ou X-API-Key: <api key>.
curl https://api.mail.land/v1/deliverability/score \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."{
"totalScore": 87,
"label": "Good",
"hasSufficientData": true,
"totalSentLast30Days": 142500,
"dnsScore": {
"name": "DNS Authentication",
"score": 25,
"maxScore": 25,
"detail": "2/2 domains fully authenticated"
},
"bounceScore": {
"name": "Bounce Rate",
"score": 20,
"maxScore": 25,
"detail": "Bounce rate: 1.80%"
},
"complaintScore": {
"name": "Complaint Rate",
"score": 25,
"maxScore": 25,
"detail": "Complaint rate: 0.020%"
},
"engagementScore": {
"name": "Engagement",
"score": 25,
"maxScore": 25,
"detail": "Open rate: 32.0%"
},
"calculatedAt": "2026-02-17T12:00:00Z"
}Chaque composante contribue jusqu'à 25 points. En dessous de 100 envois sur les 30 derniers jours, hasSufficientData est false. totalScore est tout de même calculé, mais n'est pas significatif à ce volume : sans aucun envoi, les composantes de taux de rebond et de plaintes obtiennent chacune la note maximale (25), si bien qu'un compte tout neuf peut afficher jusqu'à 75 points avant même d'avoir envoyé quoi que ce soit.
Historique du score
Suivez l'évolution de votre score dans le temps :
GET https://api.mail.land/v1/deliverability/score/history?days=30curl "https://api.mail.land/v1/deliverability/score/history?days=30" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."| Paramètre | Type | Défaut | Description |
|---|---|---|---|
days | int | 30 | Fenêtre d'historique (7–90) |
[
{
"date": "2026-02-17",
"totalScore": 87,
"label": "Good",
"dnsScore": 25,
"bounceScore": 22,
"complaintScore": 25,
"engagementScore": 15,
"bounceRate": 0.8,
"complaintRate": 0.02,
"openRate": 32.0,
"deliveryRate": 98.5,
"totalSent": 4750,
"hasSufficientData": true
}
]Statistiques générales de délivrabilité
Obtenez des métriques de livraison agrégées pour une période donnée :
GET https://api.mail.land/v1/deliverability/overview?days=30curl "https://api.mail.land/v1/deliverability/overview?days=30" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."| Paramètre | Type | Défaut | Description |
|---|---|---|---|
days | int | 30 | Fenêtre de période (normalisée à 7, 30 ou 90) |
{
"totalSent": 142500,
"totalDelivered": 140325,
"totalBounced": 1125,
"totalComplained": 28,
"totalOpened": 44878,
"totalClicked": 5843,
"totalUnsubscribed": 312,
"deliveryRate": 98.47,
"bounceRate": 0.79,
"complaintRate": 0.02,
"openRate": 31.49,
"clickRate": 4.1,
"unsubscribeRate": 0.22
}Tendances quotidiennes
Obtenez des métriques de livraison par jour pour visualiser les tendances :
GET https://api.mail.land/v1/deliverability/trends?days=30curl "https://api.mail.land/v1/deliverability/trends?days=30" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."[
{
"date": "2026-02-17T00:00:00Z",
"sent": 4750,
"delivered": 4680,
"bounced": 38,
"complained": 1,
"opened": 1498,
"deliveryRate": 98.53,
"bounceRate": 0.8,
"complaintRate": 0.02,
"openRate": 31.53
}
]Répartition par fournisseur
Consultez les métriques de délivrabilité regroupées par fournisseur de messagerie du destinataire (Gmail, Yahoo, Outlook, etc.) :
GET https://api.mail.land/v1/deliverability/providers?days=30&limit=10curl "https://api.mail.land/v1/deliverability/providers?days=30&limit=10" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."| Paramètre | Type | Défaut | Description |
|---|---|---|---|
days | int | 30 | Fenêtre de période (normalisée à 7, 30 ou 90) |
limit | int | 10 | Nombre maximum de fournisseurs à retourner (1–50) |
[
{
"domain": "gmail.com",
"sent": 58200,
"delivered": 57800,
"bounced": 210,
"opened": 19500,
"clicked": 2540,
"complained": 8,
"deliveryRate": 99.31,
"openRate": 33.51,
"bounceRate": 0.36
},
{
"domain": "outlook.com",
"sent": 31400,
"delivered": 30800,
"bounced": 350,
"opened": 8650,
"clicked": 1120,
"complained": 12,
"deliveryRate": 98.09,
"openRate": 27.55,
"bounceRate": 1.11
}
]Répartition des rebonds
Consultez les rebonds classés par type et par motif :
GET https://api.mail.land/v1/deliverability/bounce-breakdown?days=30curl "https://api.mail.land/v1/deliverability/bounce-breakdown?days=30" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."{
"hardBounces": 450,
"softBounces": 625,
"blockedBounces": 40,
"unknownBounces": 10,
"totalBounces": 1125,
"topReasons": [
{ "reason": "InvalidRecipient", "count": 380 },
{ "reason": "QuotaIssues", "count": 290 },
{ "reason": "SpamBlock", "count": 40 },
{ "reason": "BadDomain", "count": 70 },
{ "reason": "PolicyRelated", "count": 95 },
{ "reason": "TransientFailure", "count": 55 }
]
}topReasons utilise les noms de classification propres au MTA (voir Rebonds pour le vocabulaire complet), et non les catégories snake_case dérivées de mots-clés utilisées par les points de terminaison de rebond transactionnels.
Consultez Rebonds pour les détails complets des catégories de rebonds et le comportement de traitement.
État DNS
Vérifiez l'état de l'authentification DNS sur tous vos domaines :
GET https://api.mail.land/v1/deliverability/dns-statuscurl https://api.mail.land/v1/deliverability/dns-status \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."[
{
"domainId": "k3v9x2m8q1w7z4",
"domainName": "yourdomain.com",
"spfStatus": "Valid",
"dkimStatus": "Valid",
"dmarcStatus": "Valid",
"lastCheckedAt": "2026-02-17T10:00:00Z",
"isFullyAuthenticated": true
},
{
"domainId": "n7p2q9x4m8w1z3",
"domainName": "notifications.yourdomain.com",
"spfStatus": "Valid",
"dkimStatus": "Valid",
"dmarcStatus": "Invalid",
"lastCheckedAt": "2026-02-17T10:00:00Z",
"isFullyAuthenticated": false
}
]Un domaine est isFullyAuthenticated uniquement lorsque SPF, DKIM et DMARC sont tous Valid.
| Statut | Description |
|---|---|
Pending | Enregistrement pas encore vérifié |
Valid | Enregistrement correctement configuré |
Invalid | Enregistrement manquant ou mal configuré |
Recommandations
Obtenez des recommandations concrètes pour améliorer la réputation de votre expéditeur :
GET https://api.mail.land/v1/deliverability/recommendationscurl https://api.mail.land/v1/deliverability/recommendations \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."[
{
"id": "dns_dmarc_missing_notifications.yourdomain.com",
"category": "dns",
"severity": "critical",
"titleKey": "deliverability.recommendations.dns.dmarcMissing.title",
"descriptionKey": "deliverability.recommendations.dns.dmarcMissing.description",
"actionUrl": "/domains",
"impact": 8,
"parameters": {
"domain": "notifications.yourdomain.com"
}
},
{
"id": "bounce_high",
"category": "bounce",
"severity": "warning",
"titleKey": "deliverability.recommendations.bounce.high.title",
"descriptionKey": "deliverability.recommendations.bounce.high.description",
"actionUrl": "/deliverability",
"impact": 15
}
]| Champ | Type | Description |
|---|---|---|
id | string | Identifiant de la recommandation. Ce n'est pas une énumération stable : les identifiants DNS incluent le nom de domaine (par exemple dns_dmarc_missing_{domain}), donc le même problème sur deux domaines produit deux identifiants différents. |
category | string | dns, bounce, complaint, engagement, warmup ou volume |
severity | string | critical, warning ou info |
impact | int | Amélioration potentielle du score (0–100) si résolu |
actionUrl | string | Route front-end pour traiter le problème : l'une de /domains, /deliverability, /suppression-lists, /analytics ou /dashboard |
parameters | object | Valeurs pour l'interpolation i18n. Présent uniquement pour les recommandations DNS ({"domain": "..."}) ; les recommandations de rebond, de plaintes, d'engagement, de préchauffage et de volume n'ont pas de parameters. |
Au maximum 10 recommandations sont renvoyées, triées par sévérité (critique en premier) puis par impact décroissant.
Mise en cache
Tous les points de terminaison de délivrabilité sont mis en cache côté serveur pour réduire la charge des requêtes sur ClickHouse :
| Point de terminaison | TTL du cache |
|---|---|
/score | 15 minutes |
/overview | 5 minutes |
/trends | 3 minutes |
/providers | 5 minutes |
/bounce-breakdown | 5 minutes |
/score/history | Non mis en cache |
/dns-status | Non mis en cache (temps réel) |
/recommendations | 10 minutes |
Le paramètre days est normalisé à 7, 30 ou 90 : les valeurs ≤ 7 sont arrondies à 7, celles de 8 à 30 sont arrondies à 30, et toute valeur supérieure à 30 est arrondie à 90. Une valeur comme 14 est arrondie à 30, pas à 7.
Étapes suivantes
- Rebonds : comprendre les types de rebonds et le traitement automatique
- Suppressions : gérer les listes de suppression
- Échauffement IP : réchauffer les nouveaux domaines d'envoi
- Configuration DNS : configurer SPF, DKIM et DMARC