Brevo marks an SMTP key inactive after three months without a send. That key is a separate credential from the REST API key, used only by Cloudflare Email Routing in Brevo re-send mode. Low-traffic role addresses can go three months without a single message, so the key expires purely from disuse while the routing rule is still enabled.
When that happens the failure is not graceful: the relay fails, Cloudflare rejects the message, and anyone emailing that role address gets a bounce. Nothing in the admin UI warns beforehand.
Adds a monthly keepalive task that sends one probe through the same relay the inbound routing uses, which resets the inactivity clock and doubles as an end-to-end check. It appears in Scheduled Tasks with run history, an enable toggle, an editable schedule and a manual trigger, so a failure shows up there rather than as a bounce to a member. The probe recipient is configurable in Mail Settings and falls back to the SMTP login, and the task skips itself on sites that do not use Brevo re-send.
Scheduling it monthly exposed a defect in overdue detection, fixed here too. The watchdog treated any day-of-month schedule as a flat 28 days, which for a monthly task pointed the previous expected run a few days after the run that actually happened, so it would raise a missed-run alert and re-run the task every month. Overdue detection now works out the true previous occurrence from the schedule itself. Checked against all seven existing schedules: only the monthly one moves, to the correct date, and genuine missed-run recovery still works.