How to check Whether your Exchange Server is an Open SMTP Relay
To do this we will use Telnet which involves establishing a session from a computer that is not on the same network as the external (public) IP address of the Exchange server. Performing this from a machine on your own network will not produce accurate results.
1. Open a command prompt.
2. Type "telnet" and press enter.
3. At the Telnet prompt, type the following and press enter
Code:
set localecho
4. Type the following and press enter
Code:
open mail.mydomain.com 25
where mail.mydomain.com is the address of your Exchange server. You should receive a response similar to this:
Quote:
220 mail.mydomain.com Microsoft ESMTP MAIL Service ready at Thu, 20 Aug 2009 21:06:02 +0100
5. Type the following and press enter
Code:
helo testdomain.com
where testdomain.com is a domain not hosted on your Exchange server. You should receive a response similar to this:
Quote:
250 OK
5. Type the following and press enter.
Code:
mail from:someone@testdomain.com
You should receive a response similar to this:
Quote:
250 2.1.0
address@testdomain.com....Sender OK
5. Type the following and press enter.
Code:
rcpt to:someone@anotherdomain.com
where anotherdomain.com is a domain also not hosted on your Exchange server. You should receive a response similar to this:
Quote:
550 5.7.1 Unable to relay
This means your server is not an open relay. However, if you receive a response similar to this:
Quote:
Then your server is an open relay.