Testing shows that inbound, address resolution has completed by the time notification has resolved the $recipient$ variable. However, OUTBOUND mailflows do not resolve to ultimate recipient.
We have a DMZ and a seperate internal install (Core). Interal hosts talk to the outbound i/f of the core boxes because they send to both external and local domains. The Core boxes act as a smart host providing routing, and allows us to block outbound port 25 outbound from internal hosts. We are migrating some users to a new domain, and I want'ed to create an internal notice "Your recipient has a new address: $recipient%", but that doesn't work outbound. I think I have a issue logged for this -- that outbound address resolution isn't performed -- as it prevents correcting routing on internally sourced mail. The only workaround I've thought of is to spin up a VM SGB and have my core -- for the going-away domain -- route traffic to it's inbound i/f so I can implement this.