Auf dieser Seite
Was er prüft
Ein SMTP-Monitor verbindet sich aus jeder seiner Regionen mit Host und Port, liest das Server-Banner und sendet EHLO datargo.monitor. Der Check besteht, wenn das Banner mit 220 beginnt und die erste Zeile der EHLO-Antwort mit 250. Jeder andere Code, eine abgewiesene Verbindung oder ein Timeout lässt ihn fehlschlagen. Mit eingeschaltetem Zertifikat-Subcheck geht ein bestandener Check weiter in TLS, über STARTTLS oder direkt auf Port 465, und bewertet Ablauf, Aussteller, Subject und Vertrauen.
Wann Sie ihn einsetzen
- Ein Mailserver soll auf 25 oder 587 Verbindungen annehmen und als SMTP-Server antworten, nicht nur den Port offen halten.
- Das Zertifikat hinter STARTTLS soll überwacht werden. Der TLS-Zertifikat-Check führt nur einen direkten Handshake aus, deshalb wird das Zertifikat eines Submission-Ports mit STARTTLS hier geprüft.
- Ausgehende Mail einer Anwendung hängt an einem Relay, und ein Relay, das nicht mehr antwortet, soll einen Incident öffnen.
Der Check meldet sich nicht an, sendet keine Nachricht und führt weder MAIL FROM noch RCPT TO aus. Über die Zustellung sagt er deshalb nichts. Für SPF und DMARC der Domain nutzen Sie den DNS-Hygiene-Check. Einen Postfachserver und sein Zertifikat prüft der IMAP-Check, einen Port ohne Protokolldialog der TCP-Check.

Konfiguration
Ziel. Ein Hostname oder eine IP-Adresse ohne Schema, Pfad oder Leerzeichen (Labels bis 63 Zeichen, insgesamt 253), dazu ein optionaler Port von 1 bis 65535. Ohne Port prüft die Engine Port 25, obwohl das Formular 587 vorschlägt. Jede aufgelöste Adresse wird geprüft, bevor der Prüfpunkt sie kontaktiert. Loopback-, private, Link-local- und Cloud-Metadaten-Adressen werden abgewiesen, der Monitor erreicht also kein internes Netz.
| Feld | Pflicht | Werte und Voreinstellung | Bedeutung |
|---|---|---|---|
hostHost | ja | Hostname oder IP-Adresse | Der Mailserver, mit dem sich der Prüfpunkt verbindet, ohne Schema oder Pfad. IP-Literale werden angenommen. |
portPort | optional | 1 bis 65535, ohne Angabe 25. Das Formular schlägt 587 vor | Der SMTP-Port. Für den Zertifikat-Subcheck bedeutet 465 einen direkten TLS-Handshake, jeder andere Port bedeutet STARTTLS. |
interval_secondsPrüfintervall | optional | Sekunden, Voreinstellung 300, höchstens 24 h, Untergrenze je nach Tarif | Wie oft jede Region den Check ausführt. Das Feld steht in der Anfrage zum Anlegen neben config, wie im Beispiel unten. Ein Wert unter der Untergrenze des Tarifs wird auf die Untergrenze angehoben, nicht abgelehnt. |
regionsRegionen | optional | Teilmenge aus na, eu, as, sa, af, oce. Ohne Angabe: so viele, wie der Tarif erlaubt, in dieser Reihenfolge | Welche Kontinente den Check ausführen. Das Feld steht wie interval_seconds neben config. Mehr Regionen, als der Tarif erlaubt, werden mit 402 abgelehnt, nicht gekürzt. |
address_familiesIP-Familien | optional | Liste aus ipv4, ipv6 oder beiden. Leer oder ohne Angabe gilt ["ipv4"] | Jede aufgelöste Adresse wird für sich verbunden. Bei beiden Familien entscheidet family_fail_severity (degraded als Voreinstellung, oder failed), was der Ausfall einer Familie bedeutet. |
TLS-Zertifikat
Ein bestandener Check kann in TLS weitergehen und das Zertifikat bewerten. Auf Port 465 nutzt er einen direkten Handshake, auf jedem anderen Port den STARTTLS-Dialog (Banner, EHLO bis zur letzten Zeile, STARTTLS, 220). Ohne den Subcheck zeigt der Monitor weiterhin das Zertifikat, das er gesehen hat, aber es gelten weder Regel noch Warnfenster.
| Feld | Pflicht | Werte und Voreinstellung | Bedeutung |
|---|---|---|---|
tls_cert.enabled | optional | true oder false, Voreinstellung false | Schaltet den Subcheck ein. In der Voreinstellung ist er aus, und das Formular trägt den Schalter. |
tls_cert.port | optional | Port, Voreinstellung: der Port des Monitors | Der Port für den TLS-Handshake. |
tls_cert.warn_days | optional | Tage, Voreinstellung 14 | Unterhalb dieser Restlaufzeit trägt der Check einen Zertifikatshinweis, und Eigentümer und Admins erhalten stündlich eine E-Mail und einen In-App-Hinweis. Der Zustand bleibt bestanden. Ein abgelaufenes Zertifikat lässt den Check fehlschlagen. |
tls_cert.issuer_regex | optional | Regulärer Ausdruck | Der Aussteller muss passen, zum Beispiel Let's Encrypt. |
tls_cert.subject_regex | optional | Regulärer Ausdruck | Der Common Name des Subjects muss passen. |
tls_cert.allow_self_signed | optional | false (Voreinstellung) oder true | Überspringt im Handshake die Prüfung von Vertrauenskette, Hostname und Gültigkeitszeitraum. Ablauf und die Regex-Bedingungen gelten weiter, und das Formular fragt nach einer Bestätigung. Nutzen Sie es nur für interne Relays mit eigener CA. |
So läuft ein Check ab
- Jede Region, deren Intervall fällig ist, löst den Host über den eigenen Resolver des Knotens auf.
- Jede aufgelöste Adresse der gewählten Familie wird gegen die gesperrten Bereiche geprüft und dann für sich verbunden.
- Je Adresse liest der Prüfpunkt die Banner-Zeile, sendet
EHLO datargo.monitorund liest die erste Zeile der Antwort. Der ganze Dialog muss innerhalb des Limits von 10 s abgeschlossen sein. - Ein Banner, das mit 220 beginnt, und eine EHLO-Antwort, die mit 250 beginnt, bestehen. Jeder andere Code, ein I/O-Fehler oder ein Timeout schlägt fehl.
- Nur ein bestandener Check mit
tls_cert.enabledführt die Zertifikatsregel aus, einmal je Check. Er nutzt auf 465 einen direkten Handshake und auf jedem anderen Port den STARTTLS-Dialog. - Unabhängig vom Subcheck liest jeder Check das Zertifikat, das der Server vorzeigt, für die Anzeige aus. Dieses Lesen ändert das Urteil nie.
- Das Ergebnis der Region geht an die Control Plane. Die Alarmregel entscheidet, wann ausgefallene Regionen einen Incident öffnen, in der Voreinstellung, sobald 2 Regionen über 2 aufeinanderfolgende Checks übereinstimmen.

Was ein Ergebnis enthält
- Banner
- Die Detailzeile trägt das Banner, das der Server gesendet hat. Bei einem Fehlschlag trägt sie
SMTP error: ...mit der Antwort des Servers oderTimeout. - Antwortzeit
- Zeit vom Verbindungsaufbau bis zur EHLO-Antwort, je Region und je Adresse. Bei mehreren Adressen wird das Minimum gemeldet.
- Ursachenschicht
- Ob der Fehler beim DNS des Ziels lag (NXDOMAIN oder NODATA) oder bei seiner Anwendung, nachdem der Name aufgelöst war. Andere Ursachen werden als unbekannt gemeldet.
- Zertifikat
- Das Zertifikat wird über STARTTLS oder auf Port 465 gelesen. Das Ergebnis behält Common Name, alternative Namen, Aussteller und Gültigkeitsdaten, dazu, ob es selbstsigniert und vertrauenswürdig ist. Mit eingeschaltetem Subcheck trägt es den Zertifikatshinweis, sobald das Zertifikat sein Warnfenster erreicht.
- Region, Familie, Adresse
- Jedes Ergebnis trägt die Region, die es gemessen hat, und ein Teilergebnis je IP-Familie und je Adresse.
Zustände und Schwere
- okDas Banner beginnt mit 220 und die EHLO-Antwort mit 250. Mit eingeschaltetem Subcheck hält auch die Zertifikatsregel, und ein Zertifikat innerhalb seines Warnfensters behält diesen Zustand.
- eingeschränktEine IP-Familie fällt aus, während die andere antwortet, oder einige von mehreren aufgelösten Adressen fallen aus, jeweils bei voreingestellter
family_fail_severity. - ausgefallenDie Verbindung wird abgewiesen, läuft in den Timeout oder wird blockiert, oder der Host löst nicht auf. Der Check ist auch ausgefallen, wenn Banner oder EHLO-Antwort einen anderen Code tragen. Dasselbe gilt, wenn die Zertifikatsregel fehlschlägt, weil das Zertifikat abgelaufen ist, der Handshake abgewiesen wird oder Aussteller oder Subject nicht passen.
- FehlerDie Konfiguration ist nicht ausführbar. Das zählt als Ausfall mit Schwere critical.
Per Quorum bestätigt: Standardmäßig müssen 2 Regionen den Fehler melden, bevor Perstat einen Incident öffnet. Die Voreinstellung der Organisation verlangt 2 Regionen und 2 aufeinanderfolgende Checks. Ein Monitor kann eine eigene Regel tragen, mit Anzahl oder Prozent, aufeinanderfolgenden Checks und einer Mindestdauer.
Tarife und Grenzen
- Kürzestes Intervall
- 300 s in Free, 60 s in Pulse, 30 s in Sentinel, 15 s in Command und 10 s in Enterprise. Das Webformular bietet 30 s, 1 min, 5 min, 15 min und 1 h an. Die Untergrenzen von 15 s und 10 s erreichen Sie nur über MCP.
- Regionen
- 2 von 6 in Free, 3 von 6 in Pulse und alle 6 ab Sentinel.
- Monitore
- 10 in Free, 50 in Pulse, 150 in Sentinel, 500 in Command und ein individuelles Kontingent in Enterprise. Die elf regionalen Checktypen teilen sich dieses Kontingent. Heartbeat- und Agent-Monitore nutzen eigene Kontingente.
Aus der Pipeline oder von einem Agenten
Dieselbe config gilt im Deploy-Schritt, in einem MCP-Client wie Claude Code und im Formular oben. create_monitor braucht einen API-Schlüssel für die ganze Organisation. Wenn Sie regions weglassen, wählt der Tarif seine Voreinstellung.
{
"name": "Mail relay",
"type": "smtp",
"interval_seconds": 60,
"config": {
"host": "mail.example.com",
"port": 587,
"tls_cert": { "enabled": true, "warn_days": 21 }
}
}
Jede Schnittstelle mit ihrer Grenze
Grenzen
- Keine Authentifizierung, kein Nachrichtenversand, kein MAIL FROM und kein RCPT TO. Der Check belegt, dass der Server antwortet, nicht, dass er zustellt.
- Die Erreichbarkeitsprüfung liest nur die erste Zeile der EHLO-Antwort. Die Erweiterungen, die der Server ankündigt, wertet sie nicht aus.
- Ein ohne Port angelegter Monitor prüft Port 25, nicht 587.
- SPF und DMARC der Domain werden hier nicht gelesen. Das deckt der DNS-Hygiene-Check ab.
- Ziele auf privaten, Loopback-, Link-local- und Cloud-Metadaten-Adressen werden abgewiesen.
- Nicht jede Region prüft IPv6, deshalb schränkt die Auswahl von
ipv6die nutzbaren Regionen ein. Das Formular bietet IPv6 nur an, wenn der Host auf einen AAAA-Record auflöst oder ein IPv6-Literal ist.