I'm close to understanding it, but one thing in documentation makes me unsure.

At first, lets take a look at postfix architecture from docs. There are two stages: receiving and delivering. During receiving stage mail is stored in incoming queue and smtp client is notified about successfully enqueueing.

Also documentation says relocated_maps is treating by trivial-rewrite ONLY during delivering stage. And at same time it says:

As of Postfix version 2, mail for a relocated user will be rejected by the SMTP server with the reason "user has moved to otheruser@elsewhere.tld". Older Postfix versions will receive the mail first, and then return it to the sender as undeliverable, with the same reason.

How is it possible to reject receiving mail during delivering stage?

New contributor
zumm is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
  • Very intereting observation. I think the processing logic as described corresponds to the behaviour of older version, but the newer versions actually has a kind of altered logic, in that trivial_rewrite (or smtpd itself) actually consults relocated table during reception stage to make immediate rejection possible. The best place to ask about this this is the Postfix users mailing list, as they able to clarify this and fix the bug in the documentation. // However, here we solve practical problems, not thought experiments. Do you have any issues caused by this, some defined problem to solve? Nov 25 at 11:37
  • @NikitaKipriyanov I'm just trying to understand how postfix works, nothing more. You said this is documentation bug, if so i have no issue at this moment.
    – zumm
    Nov 26 at 4:45

Your Answer

zumm is a new contributor. Be nice, and check out our Code of Conduct.

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.