Working Around Your ISP Blocking Port 25
Posted by Gary Garber on 30 March 2009 11:38 PM
If you are having problems sending mail from a mail client such as Outlook, Outlook Express, and Thunderbird when attempting at home or the office it is possible your ISP is blocking the outbound SMTP port (25).
We know most ISP's block outbound SMTP port 25, these include Comcast, AT&T, Cox Communications, and many more. Some providers such as Comcast give you the option to use a secondary port to send through them while others do not offer such an option. The secondary port for Comcast is 587, they might change this at some point but as of now they use this.
An easy way to see if this is the problem is to telnet to the hostname on port 25 and see if it responds, to do this simply type the following in a DOS prompt:telnet mail.domain.com 25
If the port is open and mail can be accepted you will normally see:
220 mail.test.com ESMTP IceWarp 8.0.3
The above response is from a Icewarp server but all servers will respond with 220 and then some sort of greeting. These can range from server to server but a 220 will be seen when the port is open.
If the port is not accessible you will see this:
Connecting To mail.test.com...Could not open connection to the host, on port 25: Con nect failed
This is specifying that the port is not open or allowing connections.
In the Icewarp server you have the ability to get around this block by specifying a secondary port in your e-mail client. For instance, you set Outlook to use port 366 for SMTP, this will then use port 366 to send the message to the server.
Icewarp by default listens by default on port 366 so when receiving this message on port 366 it will accept it and then send the message out on the standard port of 25 so other servers will be able to receive it.
To make the needed changes in Outlook please follow the directions below.
Open Outlook and navigate to [Tools]
Go to [Account Settings]
Click on the account and then on [Change]
Go to [More Settings]
Now move to the [Advanced] tab.
Here you will now see the different ports the client is using for sending (SMTP) and receiving (POP3 or IMAP).
In the SMTP box change the port from 25 to 366. Once this is done save the change and the client will now use port 366 to send outgoing mail to the server.
In this example we are using port 366 as the secondary port. In Icewarp you are able to use any port number for this secondary port. You just want to make sure the port is open, in most cases 366 is not blocked by ISP's.
To change this secondary port on the server follow the directions below.
Open the Icewarp Administration console and go to the [System], [Services] tab.
Go to the [SMTP] service and click on [Properties], or simply Double Click the service.
This window will show you the [Basic] port which is the primary port of 25, do not change this from 25. If the basic port is changed then you will not be able to send to other external mail servers as they will not be listening on the port you are sending the message on.
It will also show the [SSL] port which should also remain the same.
The last option is for the [Secondary] Port. You will see the default port of 366 is already specified. You can change this to any port you would like to use but you need to ensure the port is open and being blocked as well.
You can also add another port for the SMTP service to listen on. To do this stay in the same window and follow the directions below.
Go to [Add]
In the new window you will be able to specify a specific IP to bind the new port to or simply use the default of "All available" (This means all available IP's on the server will listen on this added port).
Now that you have chosen the IP designation simply place the port in the [Port] field and this port will now be available for SMTP use.
With the above changes on both the server and e-mail client you will be able to get around the ISP port block.
The above steps deal with your ISP blocking port 25 and effect you sending mail through a client. What happens if your mail server is also located behind this ISP? You will also have the server traffic blocked and thus rendering the mail server useless for sending mail.
Icewarp allows you to also work around this but does require some additional setup and hardware.
You would need to have another Icewarp server in a external location. This server would listen on the secondary port you specified and could accept the mail from the server behind the ISP and then forward it out to the recipient servers.
In this scenario the Icewarp server behind the ISP network really becomes the "client" and in many ways would act just like Outlook in the above example.
The only difference is you will need to make a change to the server that differs from the first setup we mentioned.
You need to have the [Basic] "primary" port on the server changed from the default 25 to 366 or whatever you have set for the secondary port on the external server.
The second step is to make the server relay to the external host.
Go to the [Mail Service], [SMTP Service] tab.
Now simply change the option from "Use DNS Lookup" to "Use Relay Server".
The field will now open and allow you to add in the server information to connect to. In this field specify the hostname or IP of the external server as seen in the image below.
With this set you will now be able to totally bypass any measures the ISP has made to stop you from sending mail. Below is an example of how sending the message behind the ISP would work.
1. Your e-mail client sends a message to your server located behind the ISP.
2. The server will accept the message.
3. The server will then take the message and relay it to the host specified in the relay field.
4. It will connect to the relay server on the secondary port (366)which is specified as the basic port in the server behind the ISP.
5. The external server will then send the message out on the standard port of 25 so other servers will be able to retrieve the message.