Detect and break forwarding loops #79
Labels
mta-in
Related to incoming message processing part of the MTA functionality (mail exchanger).
new feature
New feature.
std-requirement
The Internet Standard requirement is not followed or followed incorrectly.
Milestone
My initial idea is to inspect Received fields in the headers of the messages.
If it contains value mentioning the recipient address we are handling and our hostname - we bounce the message because it was processed by our server already.
It is important to check hostname because a single recipient may be processed by multiple servers and each will include its own Received field.
Another consideration to take into account: We should skip Received fields we can't process as some MTAs include information using non-standard formats (qmail, for example). Actually, SMTP RFC requires MTA to not fail delivery if an invalid Received field is present in the header.
Postfix relies on Delivered-To (non-standard AFAIK) fields for this purpose. We might want to include this field when the message leaves the pipeline. Currently, it is included only when the message is stored in an IMAP mailbox.
The text was updated successfully, but these errors were encountered: