Overview
By default, Exim sends mail from the server’s primary IPv4 address. To decrease the chance that spam filters mark your mail as spam, verify that the reverse DNS (rDNS) entry of Exim’s outgoing IP address matches the DNS response of your server’s hostname.
The steps in this document require root
-level privileges on the server.
Modify Exim preferences for outgoing mail
cPanel & WHM offers two ways by which to modify Exim’s default preferences for outgoing mail’s IP address:
Enable automatic configuration of the server IPv4 address for outgoing mail
To automatically configure Exim to send mail from each domain’s dedicated IPv4 address, perform the following steps:
-
Modify the rDNS for each IPv4 address to point to the desired domain.
Important:- An incorrect rDNS configuration may cause mail servers to reject your server’s mail.
- For more information, read our How to Configure Reverse DNS for BIND in WHM documentation.
-
Enable the Send mail from account’s dedicated IP address setting in WHM’s Exim Configuration Manager interface (WHM >> Home >> Service Configuration >> Exim Configuration Manager).
Warning:If you select this setting, cPanel & WHM uses the
/usr/local/cpanel/scripts/updateuserdomains
script to automatically configure Exim, and overrides any manual changes in the following files:/etc/mailhelo
/etc/mailips
Manually configure Exim outgoing IP addresses
- We do not recommend that you modify your Exim files.
- To modify your Exim configuration files, you must possess
root
-level privileges.
To use a custom Exim configuration, you must enable the following settings in the Basic Editor section of WHM’s Exim Configuration Manager interface (WHM >> Home >> Service Configuration >> Exim Configuration Manager):
- Reference /etc/mailhelo for outgoing SMTP HELO
- Reference /etc/mailips for outgoing SMTP connections
- If you disable the Reference /etc/mailhelo for outgoing SMTP HELO setting, the system will overwrite any changes that you make to the
/etc/mailhelo
file. - If you disable the Reference /etc/mailips for outgoing SMTP connections setting, the system will overwrite any changes that you make to the
/etc/mailips
file.
If you change the outgoing IP address to a non-cPanel main IP address, the cPanel user must update that email address’ SPF record. They can configure the SPF record in cPanel’s Email Deliverability interface (cPanel >> Home >> Email >> Email Deliverability).
The mailhelo file
The /etc/mailhelo
file contains Exim’s configuration for the HELO
command, which initiates dialog between a mail server and a client. This file governs which domain sends the HELO
command.
Use your preferred text editor to create an /etc/mailhelo
file that resembles the following example:
|
|
The mailips file
The /etc/mailips
file controls the IP address from which each domain sends mail.
Use your preferred text editor to create an /etc/mailips
file that resembles one of the following examples:
IPv4
|
|
- In the example above, the system uses the asterisk (
*
) entry to direct outbound mail for domains without entries within this file. In this case, this is your server’s main shared IPv4 address. You can set this value to another IP address if you ensure that the asterisk entry in the/etc/mailhelo
file uses the appropriate domain name. - Only use valid, publicly-accessible IP addresses.
- Do not separate multiple IP addresses with commas. Instead, use semicolons.
IPv4 with NAT
NAT (Network Address Translation) transforms your private IPv4 address into a public IPv4 address. This process helps to preserve the limited number of IPv4 IP addresses available.
Exim sends mail from the server’s primary IPv4 address. You must use your private IP address, and not your public NAT IP address, when configuring the Exim service.
|
|
- Only use private IPv4 addresses on a NAT system.
- Do not separate multiple IPv4 addresses with commas. Instead, use semicolons.
IPv6
IPv6 does not utilize NAT technology due to the large number of IPv6 addresses available. For more information about IPv6, read our Guide to IPv6 documentation.
|
|
- Only use valid, publicly-accessible IPv6 addresses.
In the example above, the system uses two colons (::
) to indicate a collapsed section. - Do not separate multiple IPv6 addresses with commas. Instead, use semicolons.