Normally, ‘SMTP error no route to host’ error occurs while sending emails.
Usually, this error occurs when the port is blocked at the hosting end or ISP.
Here at Bobcares, we have seen several such SMTP related errors as part of our Server Management Services for web hosts and online service providers.
Today we’ll take a look at how to fix this SMTP error.
Causes for SMTP error no route to host
While trying to send mail, it results in the error:
SMTP ERROR: Failed to connect to server: No route to host (65)
Now, let’s see the different causes of this error.
- Firstly, port 25 blocked in the server firewwall which can be caused by a iptables reject with one of the type icmp-net-unreachable or icmp-host-unreachable.
-j REJECT –reject-with icmp-host-unreachable
The following reject types are currently valid:
icmp-net-unreachable icmp-host-unreachable icmp-port-unreachable icmp-proto-unreachable icmp-net-prohibited icmp-host-prohibited.
The default error message is to send a port-unreachable to the host.
To see iptables rules, run the following command.
sudo iptables -S
- Secondly, port blocked at the hosting side or ISP
This can be tested using the command given below:
telnet server_name port_number
telnet mail.bobcares.com 25
- Host is offline/service is not running
We can check whether the host is online using ping command.
The service itself might not have been started. We can check to see if the service has been started and is running properly using the following command:
sudo systemctl status SERVICENAME
- Using an incorrect port
- DNS Is Improperly Configured
We should try to ping the IP address that we are looking to connect to. It could be that the computer is not connecting to a DNS server properly.
ping -c3 your.server.ip
If the ping works but connecting a domain name doesn’t, we are looking at a DNS issue.
- Finally, incorrect Network or Host Configuration
Solution for SMTP error no route to host
- Firstly, open the port in the server firewall.
- Next, contact hosting support or ISP and ask them to remove the block.
- Then, use a different port like 587.
- DNS is improperly configured
Systemd users can run systemd-resolve –status to check the DNS servers that our system is using.
In most cases, our computer will discover the relevant DNS information over DHCP. If we are using a static IP or something on our network is configured differently, we may have to set our DNS manually.
In that file, uncomment the DNS line and add either the IP of our router or another known DNS server.
- Incorrect Network or Host Configuration
First, make sure that our computer’s network configuration is correct. Double-check the configuration files themselves and see if we can connect to the Internet another way.
If we are using a specific hostname to connect or we have set up specific hosts on either the server or the client, we need to make sure both machines can connect to each other. Check the configurations of “/etc/hosts,” “/etc/hosts.allow” and “/etc/hosts.deny”.
[Still, not able to resolve this SMTP error? We can help you in fixing it]
In short, this error occurs when the port is blocked at the hosting end or ISP. Today, we saw how our Support Engineers resolve this error.