I have worked around Exchange SMTP relay by allowing relay for authenticated users only. Since no one can authenticate it fails. Some people don't realize that there is also a connector configuration
that could allow relaying. In the properties for the SMTP Connector for the routing group, in the address space tab there's a check box that states: "Allow messages to be relayed to these domains" Since this is a SMTP connector to the "world" (AKA Internet Mail Service), the "these domains" that the check box refer to are basic everything (*). The connector's setting overrides the SMTP Virtual Server settings. So if you don't want to relay, make sure the box is
not checked and that the SMTP Virtual Server is also not allowing relaying. The problem is occurring on upgrades of Exchange 5.x to Exchange 2000, and Exchange 2000 to Exchange 2000 Service Pack 3. Apparently, either of these two upgrades will cause a previously secure version of Exchange to become an open relay that must be manually closed. One person also told us that they were told that the "Exchange 2000 Post-Service Pack 3 (SP3) Rollup Patch 6396.1" was supposed to fix the problem, but they had not tried to find and apply the patch ,and did not know anyone who had used it. I had to put the Exchange Server one hop in, and use a mail gateway to restrict my traffic. Since that was really the best way to do it anyway. One admin has asked that we emphasis this paragraph from the relay.asp article:
"What the Microsoft article and online Help don't spell out is that when you select a routing restriction, you can choose not to enter any IP information. The trick is that you can select the Hosts and clients with these IP addresses check box but not specify any IP addresses. Unless you have a specific need to have your Exchange server relay, don't enter any IP addresses on this page.
This selection changes the rules that the IMS uses when evaluating the SMTP protocol. Instead of letting the IMS accept the RCPT TO specification blindly, this selection causes the IMS to check for local delivery before
letting it upload a message. If the recipient isn't local, the IMS will return 550 Relaying not permitted."
If you are providing SMTP service to a local network, you need to define the local network's IP addresses as "allowed to relay", or local users won't be able to send mail offsite...
SMTPD admins: An admin has reported that they've been detected relaying due to this bug:
What: Caught Bug where smtpd would treat dn_expand failure in expanding an NS or MX record too seriously - as a syscall failure allowing message. See
and
McAfee WebShield admins: This software has no effective relay control. Antivirus processing must be placed after your mailserver, not in front of it.
Norton Antivirus for Internet gateways: This software has no effective relay control. Antivirus processing must be placed after your mailserver, not in front of it.
From a mail essentials admin:
Their information regarding open relays is not very clear. However after some trial and error we found that in the configuration
interface in:
server settings,
SMTP options,
advanced SMTP options,
you need to add your local domain with internal IP address in the allow relay from list. This then prevents (hopefully) relaying from any other location and generates the 550 message to the RCPT TO:.
What I use: