(bg: I have inherited this mess, I have a limited timeframe to fix, and changing out programs to something else is not an option at this time, I am not a sendmail expert but no one else has any experience with it)
I have a domain that has MX records set to a pair of hosts. These two hosts (mail1/mail2) run sendmail, have a smarthost relay set to a 3rd, internal host (mail3), which only accepts messages to a particular address (internal@domain.domain). Currently, this setup is working, and messages to internal@domain.domain are flowing.
The problem is handling all other messages for this domain. Anything except for internal@domain is being rejected by mail3. I can add the domain to local domains on the sendmail config for mail1 and mail2, but then I can't find a way to get the internal@ messages over to mail3 without changing the envelope.
.
I've fiddled with mailertable (domain level), smarttable (from domains not to), virtusertable (seems like the right place but I can't find a way to make it work), aliases, access, local-host-names, making a local user and trying .forward tricks, all to no avail.
How do I configure sendmail to relay only one address to smarthost (or, to a separate host) without changing the envelope to:, and still handle all other domain mail locally?