checkfleet

SMTP relays check

smtp — SMTP relays

Connections accepted, 220 greeting, EHLO, optional STARTTLS or implicit TLS and relay certificate expiry — never sends mail.

checkfleet check smtp --config checkfleet.yml

Verifies an SMTP relay is healthy without ever sending mail:

  • Connection & greetingERROR if it can’t connect, BAD on a non-220 greeting or a greeting missing the optional expect_banner substring.
  • EHLOBAD if EHLO is rejected.
  • STARTTLS (starttls: true) — BAD if not advertised or the upgrade fails.
  • Implicit TLS (tls: true, e.g. port 465) — wraps the connection at once.
  • Relay certificate — when TLS is negotiated, reads the leaf and reports WARN under warn_days, BAD under crit_days (or expired).
  • LatencyWARN over max_latency_ms.

Default port is 25, or 465 when tls: true. Zero-dep (stdlib net/crypto/tls); tested against in-test fake relays (plain, STARTTLS, implicit TLS).

  smtp:
    warn_days: 30
    crit_days: 7
    targets:
      - {name: relay, address: mail.example.com:25, starttls: true}
      - {name: smtps, address: mail.example.com:465, tls: true}

See the full module reference for every check, or configuration for the config keys.