Check IMAP

Perstat se connecte à votre serveur IMAP depuis 6 régions au plus et lit son message d’accueil. Le même monitor peut juger le certificat, en TLS implicite sur 993 ou via STARTTLS sur les autres ports.

Tous les types de checks imap

La vue du monitor d’un check IMAP sur mail.datargo.com:993 avec l’uptime, le temps de réponse moyen, le p95 et le nombre de checks. Elle montre aussi le panneau du certificat avec émetteur et durée de vie restante, le quorum d’alerte et le graphique des temps de réponse par région.
Sur cette page

Ce qu’il vérifie

Un monitor IMAP se connecte à l’hôte et au port depuis chacune de ses régions. Le check réussit quand la première ligne du message d’accueil commence par * OK. Sur le port 993, la sonde effectue d’abord un handshake TLS contre le magasin de racines publiques, avec l’hôte en SNI, et tout autre port est lu en clair. Avec le sous-check de certificat activé, le monitor juge aussi l’expiration, l’émetteur et le sujet, par le handshake direct sur 993 ou via STARTTLS sur les autres ports.

À utiliser quand

  • Un serveur mail expose un endpoint IMAP que les clients lisent, et une connexion refusée ou un message d’accueil absent doit ouvrir un incident.
  • Le certificat présenté par le serveur doit être jugé avec le service, sans second monitor. Le sous-check couvre l’expiration, l’émetteur et le sujet, en TLS implicite ou via STARTTLS.
  • L’endpoint IMAPS doit rester reconnu publiquement. Sur 993, le message d’accueil n’est lu qu’après un handshake contre le magasin de racines publiques, un problème de chaîne apparaît donc comme une panne.

Le check ne se connecte à aucun compte, n’ouvre aucune boîte et n’envoie pas CAPABILITY. Utilisez le check SMTP pour un endpoint SMTP, et le check de certificat TLS pour un certificat sur un port TLS direct qui mérite son propre incident. Un serveur IMAPS auto-signé sur 993 échoue à la sonde d’accueil, parce que allow_self_signed n’atteint que le sous-check de certificat.

Le formulaire de monitor avec le type IMAP : l’hôte mail.datargo.com, le port 993, l’interrupteur du sous-check de certificat TLS et la section du check avec intervalle, régions et politique d’alerte.
Le formulaire IMAP : hôte, port et l’interrupteur du certificat. Interface réelle du produit, données d’exemple.

Configuration

Cible. Un nom d’hôte ou une adresse IP sans schéma ni chemin, plus un port facultatif. Le formulaire propose 993. Chaque adresse résolue est validée avant que la sonde ne s’y connecte. Les adresses de boucle locale, privées, link-local et de métadonnées cloud sont refusées, le monitor ne peut donc pas atteindre un réseau interne.

ChampRequisValeurs et défautSignification
hostHôteouiNom d’hôte ou adresse IPLe serveur auquel la sonde se connecte. Sur 993, le nom d’hôte est aussi le SNI du handshake.
portPortfacultatif1 à 65535, défaut 993993 signifie TLS implicite, avec le handshake avant le message d’accueil. Tout autre port, par exemple 143, est lu en clair, et le sous-check de certificat passe par STARTTLS.
interval_secondsIntervalle de checkfacultatifSecondes, défaut 300, maximum 24 h, minimum fixé par l’offreLa fréquence à laquelle chaque région exécute le check. Ce champ se règle à côté de config dans la requête, pas dedans. Une valeur sous le minimum de l’offre est relevée à ce minimum, pas rejetée.
regionsRégionsfacultatifSous-ensemble de na, eu, as, sa, af, oce. Défaut : les régions de l’offreLes continents qui exécutent le check, réglés à côté de config dans la requête, pas dedans.
address_familiesFamilles IPfacultatifListe de ipv4 et/ou ipv6, défaut ["ipv4"]Chaque adresse résolue est vérifiée séparément. Quand une famille sur deux ou certaines adresses parmi plusieurs échouent, family_fail_severity (degraded par défaut, ou failed) fixe le résultat.

Certificat TLS

Un message d’accueil réussi peut être suivi d’une politique de certificat, une fois par check et non par adresse. Sur 993, elle passe par un handshake direct, sur tout autre port par le dialogue STARTTLS d’IMAP (A1 STARTTLS, puis A1 OK). Le formulaire propose l’interrupteur avec le port, la fenêtre d’avertissement, les regex d’émetteur et de sujet et le réglage auto-signé. Sans l’interrupteur, la vue du monitor affiche quand même le certificat servi, mais la politique et l’avertissement d’expiration exigent l’interrupteur.

ChampRequisValeurs et défautSignification
tls_cert.enabledfacultatiftrue ou false, défaut falseRéglez-le sur true pour activer le sous-check. Absent ou false, le certificat reste en affichage seul.
tls_cert.portfacultatifPort, défaut : le port du monitorLe port auquel le sous-check de certificat se connecte. Le mode suit toujours le port du monitor : un handshake direct seulement si le monitor tourne sur 993, STARTTLS sinon.
tls_cert.warn_daysfacultatifJours, défaut 14Sous cette durée de vie restante, le check porte un avertissement, et propriétaires et administrateurs reçoivent chaque heure un e-mail et une notification dans l’app. L’état reste réussi, et un certificat expiré fait échouer le check.
tls_cert.issuer_regexfacultatifExpression régulièreL’émetteur doit correspondre, par exemple Let's Encrypt.
tls_cert.subject_regexfacultatifExpression régulièreLe common name du sujet doit correspondre.
tls_cert.allow_self_signedfacultatiffalse (défaut) ou trueSaute les contrôles de confiance, de nom d’hôte et de date dans le sous-check, tandis que l’expiration et les assertions regex s’appliquent toujours. Il n’atteint pas la sonde d’accueil, qui garde le magasin de racines publiques sur 993, un serveur IMAPS auto-signé échoue donc toujours. Réservez-le aux services internes dotés de leur propre CA sur un port STARTTLS.

Déroulement d’un check

  1. Chaque région dont l’intervalle est échu résout l’hôte par le résolveur du nœud.
  2. Chaque adresse résolue de la famille choisie est validée contre les plages bloquées, puis contactée séparément.
  3. Sur le port 993, la sonde effectue d’abord un handshake TLS contre le magasin de racines publiques, avec l’hôte en SNI. Sur tout autre port, elle reste en clair. Puis elle lit la première ligne envoyée par le serveur.
  4. Une ligne commençant par * OK réussit, et tout le reste échoue. Connexion, handshake et message d’accueil partagent la limite de 10 s. Un serveur qui reste muet est en panne, pas en erreur de configuration.
  5. Seul un check réussi avec tls_cert.enabled exécute la politique de certificat, une fois par check. Elle passe par un handshake direct sur 993 et par le dialogue STARTTLS sur les autres ports. Les regex sont compilées d’abord, et une regex invalide termine le check en erreur.
  6. Le résultat de la région part au plan de contrôle. Un échec ouvre un incident dès que le quorum de la politique d’alerte est atteint, par défaut 2 régions sur 2 checks consécutifs.
La vue du monitor d’un check IMAP sur mail.datargo.com:993 avec l’uptime, le temps de réponse moyen, le p95 et le nombre de checks. Elle montre aussi le panneau du certificat avec émetteur et durée de vie restante, le quorum d’alerte et le graphique des temps de réponse par région.
La vue du monitor avec l’uptime, le temps de réponse et le p95, ainsi que le certificat servi sur 993 et le temps de réponse par région. Interface réelle du produit, données d’exemple.

Ce que contient un résultat

Message d’accueil
La première ligne envoyée par le serveur, jugée sur * OK.
Temps de réponse
Temps jusqu’au message d’accueil, handshake TLS compris sur 993, par région et par adresse.
Ligne de détail
Une ligne qui dit ce qui s’est passé : le message d’accueil, IMAP error: avec l’erreur de transport ou de handshake, ou Timeout. Avec le sous-check activé, le constat de certificat s’ajoute au message d’accueil en cas de réussite et le remplace en cas d’échec.
Couche de cause
Indique si l’échec relevait du DNS de la cible (NXDOMAIN ou NODATA) ou de son application, après une résolution réussie. Tout le reste est signalé comme inconnu.
Certificat
Le résultat conserve le common name, les noms alternatifs et l’émetteur, ainsi que les dates de validité, l’indicateur auto-signé et la confiance publique. Chaque check les lit, avec ou sans le sous-check. La durée de vie restante et son avertissement n’apparaissent qu’avec le sous-check activé.
Région, famille, adresse
Chaque résultat porte la région qui l’a mesuré, et un sous-résultat par famille IP et par adresse.

États et gravité

  • okLe message d’accueil commence par * OK, sur 993 après un handshake reconnu. Avec le sous-check activé, la politique de certificat tient aussi, et un certificat dans sa fenêtre d’avertissement conserve cet état.
  • dégradéUne famille IP échoue pendant que l’autre répond, ou certaines de plusieurs adresses résolues d’une famille échouent pendant que les autres répondent. Cela vaut à la valeur par défaut de family_fail_severity.
  • en panneLa connexion est refusée, expire ou est bloquée, ou le message d’accueil n’est pas * OK. Le check est aussi en panne quand le handshake sur 993 est rejeté pour une chaîne non reconnue, un nom d’hôte qui ne correspond pas ou un certificat expiré. Il en va de même quand la politique de certificat échoue pour cause d’expiration ou de handshake rejeté, ou parce que l’émetteur ou le sujet ne correspond pas.
  • erreurLa configuration ne peut pas s’exécuter, par exemple à cause d’une regex invalide dans la politique de certificat. Le check se termine en erreur plutôt qu’en échec et compte comme une panne de gravité critique.

Confirmé par quorum : par défaut, 2 régions doivent signaler l’échec avant l’ouverture d’un incident. Par défaut, l’organisation exige 2 régions et 2 checks consécutifs. Un monitor peut porter sa propre règle avec un nombre ou un pourcentage, des checks consécutifs et une durée minimale.

Offres et limites

Intervalle minimal
300 s en Free, 60 s en Pulse, 30 s en Sentinel, 15 s en Command et 10 s en Enterprise. Le formulaire web propose 30 s, 1 min, 5 min, 15 min et 1 h. Les intervalles de 15 s et 10 s ne sont accessibles que par MCP.
Régions
2 sur 6 en Free, 3 sur 6 en Pulse et les 6 à partir de Sentinel.
Monitors
10 en Free, 50 en Pulse, 150 en Sentinel, 500 en Command et un quota sur mesure en Enterprise. Les onze types de checks de sonde partagent ce quota. Agents hôtes et heartbeats ont leurs propres quotas.

Comparer toutes les limites

Depuis le pipeline ou un agent

La même config fonctionne dans l’étape de déploiement, dans un client MCP comme Claude Code et dans le formulaire ci-dessus. create_monitor exige une clé API valable pour toute l’organisation. Si vous omettez regions, l’offre applique sa valeur par défaut.

{
  "name": "Mailbox IMAPS",
  "type": "imap",
  "interval_seconds": 60,
  "config": {
    "host": "mail.example.com",
    "port": 993,
    "tls_cert": { "enabled": true, "warn_days": 21 }
  }
}

Chaque interface, avec sa limite

Limites

  • Pas de connexion à un compte, pas d’accès aux boîtes et pas de CAPABILITY. La sonde lit une ligne.
  • Sur 993, la sonde d’accueil exige une chaîne reconnue publiquement. L’interrupteur allow_self_signed n’atteint que le sous-check de certificat, un serveur IMAPS auto-signé reste donc en panne.
  • Seul le port 993 signifie TLS implicite. Tout autre port est lu en clair, et le sous-check de certificat y passe par STARTTLS.
  • La politique de certificat s’exécute une fois par check, pas par adresse, et seulement après un message d’accueil réussi.
  • Les cibles sur des adresses privées, de boucle locale, link-local et de métadonnées cloud sont refusées.
  • Toutes les régions ne sondent pas IPv6, sélectionner ipv6 restreint donc les régions utilisables.
  • SPF, DMARC et CAA du domaine mail relèvent du check d’hygiène DNS.

Tous les types de checks