mirror of
https://github.com/mjl-/mox.git
synced 2025-07-17 01:26:07 +03:00
explicitly store in a Message whether it was delivered to the rejects mailbox
soon, we can have multiple rejects mailboxes. and checking against the configured rejects mailbox name wasn't foolproof to begin with, because it may have changed between delivery to the rejects mailbox and the message being moved. after upgrading, messages currently in rejects mailboxes don't have IsReject set, so they don't get the special rejecs treatment when being moved. they are removed from the rejects mailbox after some time though, and newly added rejects will be treated correctly. so this means some existing messages wrongly delivered to the rejects mailbox, and moved out, aren't used (for a positive signal) for future deliveries. saves a bit of complexity in the implementation. i think the tradeoff is worth it. related to discussion in issue #50
This commit is contained in:
@ -1437,6 +1437,13 @@
|
||||
"bool"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "IsReject",
|
||||
"Docs": "If set, this message was delivered to a Rejects mailbox. When it is moved to a different mailbox, its MailboxOrigID is set to the destination mailbox and this flag cleared.",
|
||||
"Typewords": [
|
||||
"bool"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "MailboxOrigID",
|
||||
"Docs": "MailboxOrigID is the mailbox the message was originally delivered to. Typically Inbox or Rejects, but can also be a mailbox configured in a Ruleset, or Postmaster, TLS/DMARC reporting addresses. MailboxOrigID is not changed when the message is moved to another mailbox, e.g. Archive/Trash/Junk. Used for per-mailbox reputation. MailboxDestinedID is normally 0, but when a message is delivered to the Rejects mailbox, it is set to the intended mailbox according to delivery rules, typically that of Inbox. When such a message is moved out of Rejects, the MailboxOrigID is corrected by setting it to MailboxDestinedID. This ensures the message is used for reputation calculation for future deliveries to that mailbox. These are not bstore references to prevent having to update all messages in a mailbox when the original mailbox is removed. Use of these fields requires checking if the mailbox still exists.",
|
||||
|
Reference in New Issue
Block a user