for messages retired from the delivery queue, set "success" field properly, and include the smtp code/enhanced code on success too (not only on failure)

noticed some time ago when looking at my retired messages queue.
This commit is contained in:
Mechiel Lukkien
2024-10-05 11:06:42 +02:00
parent fb65ec0676
commit fdc0560ac4
4 changed files with 11 additions and 5 deletions

View File

@ -303,7 +303,7 @@ func deliverDirect(qlog mlog.Log, resolver dns.Resolver, dialer smtpclient.Diale
for i, mr := range result.delivered {
mqlog := nqlog.With(slog.Int64("msgid", mr.msg.ID), slog.Any("recipient", mr.msg.Recipient()))
mqlog.Info("delivered from queue")
mr.msg.markResult(0, "", "", true)
mr.msg.markResult(mr.resp.Code, mr.resp.Secode, "", true)
delMsgs[i] = *mr.msg
}
if len(delMsgs) > 0 {
@ -745,6 +745,7 @@ func deliverHost(log mlog.Log, resolver dns.Resolver, dialer smtpclient.Dialer,
} else if i > 0 && (resps[i].Code == smtp.C452StorageFull || resps[i].Code == smtp.C552MailboxFull) {
ntodo = append(ntodo, mr)
} else if resps[i].Code == smtp.C250Completed {
mr.resp = resps[i]
delivered = append(delivered, mr)
} else {
failed = append(failed, mr)