Changing SMTP ports (Linux)

Expertise level: Medium

Due to a very large volume of junk email being produced today, most ISPs now block port 25. By default, your server may use port 25 to send mail; as a result, you could find that your email is being blocked.

iWeb recommends the use of port 26 or 587 for your mail server ports. Please remember that you will also need to open the ports in your firewall to make these ports available.

You will need to modify your configuration files from the command line. If you do not know how to do so, please consult the SSH or Command Line articles in this Knowledge Base.  Please note that Linux has a number of different mail servers. Please be sure of which mail server you have installed.

These instructions are for Linux only. After completing the operations below, don't forget to restart your mail server!


If you have WHM/cPanel, you can simply go into Service Manager and change the port there. Be sure to enable 'Exim on Another Port'.

Otherwise, modify the following file, using your favourite text editor:


You will need to add these lines, replacing 26 by 587 if desired:

daemon_smtp_ports = 26
acl_smtp_rcpt = check_recipient
acl_smtp_data = check_message


You will need to edit the following file:


Add a line to the file in the following format:

<port> inet n - - - - smtpd

Replace <port> with the appropriate port number, for example:

26 inet n - - - - smtpd


You will need to modify the following file:


Add the following line, replacing the <port> with the actual port:

smtp_alt <port>/tcp # new SMTP port

If you are running xinetd as a super-server, you will need to follow these extra instructions:

First, make a backup copy of smtp_psa by using this command:

cp /etc/xinetd.d/smtp_psa /root/smtp_psa.backup

Everything located in /etc/xinet.d/ is loaded as xinet services.

Next, edit the file /etc/xinetd.d/smtp_psa and add the following line:

service smtp_alt

Then restart xinetd using the following command:

/tc/init.d/xinetd restart

If that does not work, you can use iptables to make the modification:

Change the IP in the following file:


Then execute this command:

/sbin/iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 25 -j SNAT --to $(< /var/qmail/control/outgoingip) >> /etc/rc.local

Verify you are still able to send emails. If not, just remove this line from /etc/rc.local/

Note: the IP must be configured on your server.

Note: Qmail is a bit outdated and can be quite difficult to manage. Please note that under Plesk, it is not supported by iWeb to change the outgoing IP.


Article is closed for comments.
Powered by Zendesk