Nowadays, unfortunately, it is not rare for a remote system to reject emails from you. If you check the SMTP logs, you will note that you are disconnected right after you connect to a remote system to send an e-mail, which usually indicates the remote system is blocking your IP. Other times, your server's IP might be listed on some DNSBL. There are even systems that block emails from an entire country based on their IP.
IceWarp has two handy options. First of all, it's important to note that IceWarp is usually set up to send out mail using DNS lookups (Use DNS Lookup). You can find it under the Main Menu > Mail > General > Delivery tab, as seen on the screen below:
IceWarp will query the DNS servers specified in System/Internet connection to find out the remote system's MX and connect to it directly to send outbound mail.
Suppose you use this method, but your ISP is blocked at a specific destination. In that case, you can route all emails to that particular destination/domain through another SMTP server with a different outgoing IP. It is done with an option called Routing, found in Main Menu > Mail > General > Routing tab, as seen below:
The best way to set up SMTP routing is by clicking on the Edit file button, so you are editing the configuration file directly with a notepad. On the top part of the Window, you should see comments and a comment button to show/hide comments. Note the included examples.
If you want to route all emails destined to @aol.com via another SMTP server (let's say relay.isp.com), the syntax is:
If you want to redirect all emails to yahoo.com via SMTP server relay.isp.com, change the line shown above, replacing the two places where aol.com appears with yahoo.com.
For this to work, relay.isp.com must be set to accept message relaying for your primary server's IP (which is sending out mail using relay.isp.com for this specific domain only). If it's an Icewarp at relay.isp.com, it has to have the main Icewarp's IP in Main Menu > Mail > Security > Trusted IPs & Hosts.
An alternative is to use SMTP AUTH to send out mail using any account you have on an ISP, for example, that accepts SMTP authentication. The syntax is as follows if your ISP requires you to authenticate with just your username (what is to the left of the @ sign):
If your authentication is done with full email, the syntax is:
After you do the changes described above, restart the SMTP service (System > Service) and check your SMTP logs to ensure emails to these destinations are being relayed correctly.
Another excellent option in Icewarp is the possibility to try to send all messages that were not successfully sent by your primary mail server through another SMTP server.
To use this option, in Main Menu > Mail > General > Delivery tab, keep the radio button Use DNS lookup active, however, fill out an alternative mail server in the Use relay server field and mark the checkbox Deliver messages via relay server when direct delivery fails.
It means that all messages which your primary server couldn't send, such as mailbox full at the destination, the account that doesn't exist or blocked on a DNSBL, are sent to the relay server so that it can try.
You can specify an IP; however, the IP/relay server must be set to accept connections/relaying from your Icewarp. You can also SMTP AUTH. The syntax, if you want to use SMTP AUTH with your username is: <username>:<password>@<MyISPhostname>
So, for example, joe:email@example.com
If you need to use SMTP AUTH with your full email, the syntax is:
So, for example, joe%domain.com:firstname.lastname@example.org
If the syntax above does not work, replace the % afterword username with a @.
Check your SMTP logs to understand how SMTP authentication works and how to decode it.
After doing these changes, restart your SMTP service and be sure to check your logs and your relay server's logs, to be sure messages are being sent out correctly.