Open
Conversation
We add the per-message individual message token to the SMTP FROM, which is mainly used in the return path (i.e. for bounce messages). By adding the token to the mail address, we now are able to assign incoming bounces not only by the x-postal-msgId header, but also by their individual message tag / address.
Beside the search based on X-Postal-MsgID header, we also can assign incoming
bounces by their individually generated mail address (with the same tag as
in the X-Postal-MsgID). This is configurable, with the default disabled to
have it backwards compatible.
From a performance perspective, searching by this address based approach
always is faster than scanning the full mail for the presence of the header,
so we could also consider to make this feature enabled by default.
Contributor
|
This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days. |
|
Looks good and needed, can we get this merged? |
Contributor
|
This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days. |
Contributor
|
This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days. |
Contributor
|
This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days. |
Contributor
|
This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days. |
michaeldoehler
pushed a commit
to relationsoftware/postal
that referenced
this pull request
Jan 21, 2026
Adds the message token to the return path (MAIL FROM) to enable faster bounce message matching. When use_message_tags_for_bounces is enabled, bounces can be matched by extracting the token from the return path instead of scanning the entire message body. Format: server_token+message_token@return_path_domain Cherry-picked from postalserver/postal PR postalserver#3036 Co-authored-by: schueffi <schueffi@users.noreply.github.com> Co-authored-by: openhands <openhands@all-hands.dev>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Similar to pull request 2855 ( #2855 ), the message token will be inserted into MAIL FROM (i.e. for the return path for bounces).
In addition, there is a new configuration option (default disable the new feature), to look for this newly generated message tag when a bounce message comes in. If no tag is found, or the new lookup feature is disabled, then the old (backwards compatible) lookup for the X-Postal-MsgID header will be utilized to search for the corresponding referenced mail.
Using an individual mail address is way more stable than inserting a header into outgoing mails, and relaying on the existence of this header in incoming bounce messages. A lot of "real world" MTAs out there strip additional headers or compose new bounce mails not including the X-Postal-MsgID header. All those incoming bounces can be easily assigned to their corresponding outgoing mails by their individual message tag as part of the bounce mail address.