Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
At reception time, we've supported using the special queue name "null" as a way to indicate that a message should be accepted but then silently dropped. Since that was built, we've added a couple of ways through which a message can be assigned to a different queue after reception. In a few situations we've had users that want to assign those messages to the null queue to indicate that they should be dropped. That has "worked" but not for the right reasons: setting the queue name to "null" is equivalent to setting the routing domain to the domain named "null", which doesn't resolve to a valid MX and that will eventually cause messages that were queued there to expire out of the system. This commit introduces a special case for a queue named "null" that configures it with a special "Null" delivery handler. Similar to the maildir handler, this one will immediately handle ready messages without instantiating a corresponding ready queue for them. In this case, handling them means simply deleting them with no other logging. We don't log here in order to be consistent with the reception-time behavior of not logging. It might be desirable to add some configuration around this in the future, but for the moment, the primary way that messages might end up assigned to a "null" queue is via a rebind operation, and that will log an `AdminRebind` record that can be used to capture that change in responsibility. If logging a bounce is desired, it is recommended to use kumo.reject to bounce the message during the rebind event instead of assigning it to the null queue.
- Loading branch information