Mailbeam
API · SMTP

API de vérification SMTP

Un enregistrement MX confirme que le domaine peut recevoir du courrier. La vérification SMTP confirme que la boîte précise existe. Mailbeam fait les deux en un seul appel.

Ce que Mailbeam contrôle

Chaque vérification lance 7 contrôles en parallèle et renvoie un résultat structuré en moins de 100 ms.

Poignée de main SMTP directe

Mailbeam se connecte au serveur cible et exécute EHLO + MAIL FROM + RCPT TO pour tester si la boîte précise est acceptée — sans livrer de message.

Gestion des MX multiples

Les domaines avec plusieurs enregistrements MX sont traités par ordre de priorité. Si le serveur principal ne répond pas, Mailbeam bascule automatiquement sur les MX secondaires.

Le résultat SMTP dans la réponse

Le booléen `smtp_check` vous dit précisément si la poignée de main a réussi, indépendamment du résultat composite `valid`.

Gestion propre des serveurs qui bloquent le sondage

Google, Microsoft et certains serveurs d'entreprise bloquent les sondages SMTP directs. Quand c'est le cas, Mailbeam s'appuie sur des signaux au niveau du domaine et sur l'historique pour estimer la délivrabilité, et renvoie `status: unknown` plutôt qu'un faux négatif.

Distinct du contrôle MX seul

La validation MX confirme que le domaine a une infrastructure de messagerie. La vérification SMTP confirme que la boîte individuelle (la partie avant le @) existe. Les deux contrôles tournent à chaque requête.

Exécution en parallèle des autres contrôles

Le sondage SMTP est la partie lente d'une vérification : syntaxe, jetables et rôle ne coûtent rien à côté, et la requête MX est en général en cache. C'est le sondage qui décide du temps de réponse.

Comment ça marche

1

Récupération des enregistrements MX

Mailbeam résout les MX du domaine pour identifier le serveur responsable. Les enregistrements des domaines courants sont mis en cache pour réduire la latence DNS.

2

Ouverture de la connexion SMTP

Une connexion TCP est ouverte vers le serveur MX de plus haute priorité, sur le port 25 (ou 587 pour les serveurs de soumission uniquement). Mailbeam envoie EHLO pour se présenter.

3

Envoi de la commande RCPT TO

Mailbeam envoie MAIL FROM avec une adresse de sondage et RCPT TO avec l'adresse cible. Le code de réponse du serveur (250 = accepté, 550 = rejeté) détermine l'existence de la boîte.

4

Fermeture de la connexion, résultat renvoyé

Mailbeam envoie QUIT et ferme la connexion sans livrer le moindre e-mail. Le code de réponse au RCPT TO figure dans le résultat sous `smtp_check: true/false`.

Intégrez-le en quelques minutes

PythonPython
import asyncio
import os
import httpx
# Pas encore de SDK — Mailbeam tient en un POST.
async def verify_email(email: str) -> dict:
    async with httpx.AsyncClient(timeout=3.0) as client:
        response = await client.post(
            "https://api.mailbeam.dev/v1/verify",
            json={"email": email},
            headers={"Authorization": f"Bearer {os.environ['MAILBEAM_KEY']}"},
        )
    response.raise_for_status()
    return response.json()
async def verify_with_smtp_detail(email: str) -> dict:
    result = await verify_email(email)
    print(f"Contrôle SMTP : {result['checks']['smtp']}")
    print(f"Contrôle MX :   {result['checks']['mx']}")
    print(f"Statut :        {result['status']}")
    print(f"Score :         {result['score']}")
    if result["status"] == "unknown":
        # Le sondage n'a pas pu trancher — Google et Microsoft ne sont jamais
        # sondés, et certains hôtes pratiquent le greylisting. On s'appuie sur le score.
        if result["score"] >= 60:
            return {"action": "allow", "reason": "domain_signals_positive"}
        return {"action": "review", "reason": "low_confidence_unknown"}
    if not result["valid"]:
        return {"action": "reject", "reason": result["reason"]}
    return {"action": "allow", "reason": "smtp_verified"}
# Utilisation
result = asyncio.run(verify_with_smtp_detail("user@company.com"))
print(result)

Quand l'utiliser

Validation de listes de prospection B2B

Avant d'envoyer une séquence à froid, la vérification SMTP confirme que les contacts identifiés chez une entreprise ont bien une boîte active.

Validation d'e-mails transactionnels critiques

Avant d'envoyer factures, contrats ou e-mails d'onboarding à de nouveaux comptes, vérifiez l'adresse en SMTP pour éviter un hard bounce sur une communication à forte valeur.

Lever le doute sur un domaine catch-all

Sur les domaines où le MX passe mais où l'indicateur catch-all est actif, le sondage SMTP est tout de même tenté. Le résultat du sondage et le score plafonné donnent ensemble le verdict le plus utile pour une adresse d'entreprise — et le score dit ce qu'il reste de confiance au lieu de feindre la certitude.

Prévention des hard bounces à grande échelle

Pour des campagnes où la réputation d'expéditeur est un enjeu, une vérification SMTP à l'import élimine la catégorie de hard bounces due aux boîtes inexistantes.

Questions fréquentes

La vérification SMTP envoie-t-elle un vrai e-mail ?

Non. La poignée de main teste si le serveur accepterait le message, mais la connexion est fermée avant toute livraison. La boîte cible ne reçoit rien.

Pourquoi Google bloque-t-il le sondage SMTP ?

Les serveurs Gmail et Google Workspace répondent 250 (accepté) à toutes les commandes RCPT TO, que la boîte existe ou non — une contre-mesure délibérée contre la récolte d'adresses. Mailbeam le détecte et renvoie `status: unknown` avec un score fondé sur les signaux du domaine.

Quelle différence entre smtp_check et le champ valid ?

`smtp_check` vous dit précisément si la poignée de main a accepté l'adresse. `valid` est un booléen composite qui tient aussi compte de la syntaxe, du MX, des jetables et du score. Une adresse peut avoir `smtp_check: false` (serveur bloquant le sondage) et rester `valid: true` si les autres signaux sont solides.

Tous les serveurs sont-ils joignables pour un sondage SMTP ?

Non. Certains bloquent complètement le port 25, exigent TLS ou empêchent le sondage. Mailbeam gère chaque cas proprement et s'appuie sur les signaux du domaine quand le sondage direct est impossible.

Prêt à l'intégrer ?

L'offre gratuite inclut 1 000 vérifications par mois. Sans carte bancaire.