Spam Experts Help

cPanel/WHM Username-based Authentication

  1. Ensure the Outgoing user is added to your Outgoing Users page (see Add an Outgoing User).
  2. Ensure the correct limits are set for the outgoing user that match your traffic volumes.
  3. Navigate to Exim Configuration Editor in WHM.
  4. Choose Advanced Editor.
  5. Add the following to the "Section: POSTMAILCOUNT" (replace SMARTHOST with the correct SMTP hostname):
  6. 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

  7. Add the following to the "Section: TRANSPORTSTART"
  8. 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}}"
      hosts_require_auth = *

    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}}"
      hosts_require_auth = *

  9. Add the following to the "Section: AUTH" (replace "username@example.com" with your username, and "yourUserPassword" with your password):
  10. Spam Experts_login:
    driver = plaintext
    public_name = LOGIN
    client_send = : username@example.com : yourUserPassword

    Please ensure any special characters in the password required are escaped.

  11. Save the settings. This will restart Exim.
  12. Make sure that you whitelist all your Spam Experts IPs in:
  13. Exim Configuration Manager > Basic Editor > Access Lists > "Only-Verify-Recipient".