Mail deliverability dashboard: findings with fixes, DMARC report ingestion, alerts on regressions

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
VeillaxandClaude Sonnet 5.5 committed 2026-10-27 17:01:45 -06:00
1 parent 39659f0144
commit 6d912ddd22
11 files changed
+890 -18

No files matched your search

+28
View File
@@ -146,6 +146,27 @@ func (s *Server) problemsLocked(now time.Time) map[string]problem {
}
}
}
for _, x := range s.st.MailEgress {
if !x.Enabled || edgeDown[x.EdgeID] || siteDown[x.SiteID] {
continue
}
chk, ok := s.mailChecks[x.ID]
if !ok {
continue
}
for _, f := range s.mailEgressFindingsLocked(x, chk) {
// ptr, helo, port 25 and dkim have alerts of their own above
if !f.alertWorthy() || f.ID == "ptr" || f.ID == "helo" || f.ID == "port25" || strings.HasPrefix(f.ID, "dkim:") {
continue
}
msg := fmt.Sprintf("%s: %s: %s", x.Name, f.Label, f.Detail)
if f.Hint != "" {
msg += ". " + f.Hint
}
add("mailfind:"+x.ID+":"+f.ID, x.OrgID, "mail", x.Name, msg)
}
}
s.dmarcProblemsLocked(add)
for _, k := range s.st.DKIM {
for _, x := range s.st.MailEgress {
if x.OrgID != k.OrgID || !x.Enabled || edgeDown[x.EdgeID] {
@@ -185,6 +206,13 @@ func (s *Server) judgeableLocked(st *alertState) bool {
}
_, known := s.mailStatus[rest]
return known
case "mailfind":
id, _, _ := strings.Cut(rest, ":")
if s.findMailEgress(id) == nil {
return true
}
_, known := s.mailChecks[id]
return known
case "mailptr", "mailhelo", "mail25":
if s.findMailEgress(rest) == nil {
return true