To make the SenderID filter work with non-Exchange smtp hosts acting as your mail gateways for inbound mail, you need to tell Exchange about them. If Exchange does not know about these, SenderID will not be able to determine the correct sending host, and you may see SenderID checks fail on all inbound mail.
This may have been a source of confusion for users in the past – which hosts do you consider as “internal” – the ones on your internal network? or only those located in perimeter networks (aka “DMZ”)? how about those located at your ISP?
Exchange needs to know about all smtp hosts that do not belong to senders – the ones that will handle your inbound mail, whether at your ISP or in your perimeter or internal networks, before messages are delivered to the Exchange Org. (Start by taking a look at MX records in external DNS zones – do these point to non-Exchange servers? If yes, do these hosts route mail to Exchange servers?).
In Exchange Server 2003 this is done by entering internal smtp server addresses in Global Settings | Message Delivery properties | General tab | Perimeter IP List and internal IP Range Configuration.
On Exchange Server 2007, you can configure this from the shell:
set-transportconfig -InternalSMTPServers 1.2.3.4,1.2.3.5,1.2.3.6
Updates:
8/16/2007: SP1 Beta2 allows setting InternalSMTPServers parameter using the Exchange console, as shown below:
{ 1 comment… read it below or add one }
I find it very confusing in the “Transport Settings Properties” window where it states “Enter the IP addresses of Internal SMTP servers” in the instructions, yet the list is labeled “Remote IP address(es)”.
Which is it that I am to add? Internal or Remote??
I find this exact type of confusing language in all of Microsoft’s products. Frustrating as hell!