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:
1 parent
39659f0144
commit
6d912ddd22
11 files changed
+890
-18
No files matched your search
@@ -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
|
||||
|
||||
Reference in new issue
Block a user