configure spam expert in cPanel/WHM IP-based Authentication

    Posted in Whm/Cpanel on Nov 04, 2018

    Navigate to "Exim Configuration Editor" in WHM.

    Choose "Advanced Editor". Add the following in "Section: POSTMAILCOUNT" (chaning SMARTHOST to your SMTP hostname)

    smarthost_dkim:
    driver = manualroute
    domains = !+local_domains
    require_files = "+/var/cpanel/domain_keys/private/${sender_address_domain}"
    # Exclude null sender messages from relaying via the smarthost
    condition = ${if or {{!eq{$sender_address}{}} {!eq{$sender_host_address}{}}}} 
    transport = remote_smtp_smart_dkim
    route_list = $domain SMARTHOST::587
    
    smarthost_regular:
    driver = manualroute
    domains = !+local_domains
    # Exclude null sender messages from relaying via the smarthost
    condition = ${if or {{!eq{$sender_address}{}} {!eq{$sender_host_address}{}}}} 
    transport = remote_smtp_smart_regular
    route_list = $domain SMARTHOST::587

    Add the following in "Section: TRANSPORTSTART" :

    remote_smtp_smart_dkim:
    driver = smtp
    hosts_require_tls = *
    interface = ${if exists {/etc/mailips}{${lookup{$sender_address_domain}lsearch*{/etc/mailips}{$value}{}}}{}}
    helo_data = ${if exists {/etc/mailhelo}{${lookup{$sender_address_domain}lsearch*{/etc/mailhelo}{$value}{$primary_hostname}}}{$primary_hostname}}
    dkim_domain = $sender_address_domain
    dkim_selector = default
    dkim_private_key = "/var/cpanel/domain_keys/private/${dkim_domain}"
    dkim_canon = relaxed
    headers_add = "${perl{check_mail_permissions_headers}}"
    
    remote_smtp_smart_regular:
    driver = smtp
    hosts_require_tls = *
    interface = ${if exists {/etc/mailips}{${lookup{$sender_address_domain}lsearch*{/etc/mailips}{$value}{}}}{}}
    helo_data = ${if exists {/etc/mailhelo}{${lookup{$sender_address_domain}lsearch*{/etc/mailhelo}{$value}{$primary_hostname}}}{$primary_hostname}}
    headers_add = "${perl{check_mail_permissions_headers}}"

    Save and restart