I am not sure I will be able to resolve this with you, but let us get some detail so someone else has the right information to work with.
You have two mail servers, different mail domains, one exchange and one linux.
You are sending from the Linux machine using mutt, mail, mailx, or other mail client.
You are sending TO an account served by your Exchange mail server.
If the Exchange server is NOT forwarding email for the Linux mail server to the outside world, you do NOT need the SMARTHOST setting. If it DOES relay mail for the linux mail server, then you do.
BOTH mail servers should have MX records in DNS for their domains. If they lack these, there are settings that need to be adjusted to allow each to send mail to the others without that security check and setting them as the mail target for that domain. I do not manage Exchange, so I cannot discuss those settings in any detail.
If your MX records are present and use external addresses, you may need host table entries with the internal addresses on each host. (most routers have trouble routing the same packet in and out on the same interface)
Between linux machines it is easier, you can use email names with the that use the FQDN of the target server. (email@example.com instead of firstname.lastname@example.org
) and they will direct send. Exchange does not by default, though it has a LOT of settings and might be capable.
Considering these things, please describe what you try and how it changes the behavior or log entries.