How to add new RBLs to cpanel Exim

More then a year ago, cPanel added a future to the Exim Configuration Editor for everyone to easily select from two RBLs ( and that can be used to filter most of the SPAM that a server receives. While this has been great for most of us (enabling a RBL is a simple as selecting a check box in WHM and pressing the Save button), there are a few admins that would have liked to add additional RBLs to the list that Exim uses to filter SPAM emails. RBLs like,,, etc. are all considered useful by many, but not included by default.

The question is how can such a RBL be added to Exim ?
Well it’s not that hard !
First you will have to login to your server using ssh.
After a successful login:

  1. Change directory to /usr/local/cpanel/etc/exim/acls/ACL_RBL_BLOCK

    cd /usr/local/cpanel/etc/exim/acls/ACL_RBL_BLOCK

  2. Make a copy of of spamcop_rbl and name it with the new rbl name that will be used. For exemple

    cp spamcop_rbl njabl_rbl

  3. Open the newly created file

    nano njabl_rbl

  4. Change the two “dnslists” entries to the address of the new RBL. For example the new file should look something like this for

    root@server [/usr/local/cpanel/etc/exim/acls/ACL_RBL_BLOCK]# cat njabl_rbl

    deny message = JunkMail rejected – $sender_fullhost is in an RBL, see $dnslist_text
    dnslists =
    hosts = +backupmx_hosts

    dnslists =
    set acl_m8 = 1
    set acl_m9 = “JunkMail rejected – $sender_fullhost is in an RBL, see $dnslist_text”

    condition = ${if eq {${acl_m8}}{1}{1}{0}}
    ratelimit = 0 / 1h / strict / per_conn
    log_message = “Increment Connection Ratelimit – $sender_fullhost because of RBL match”

    condition = ${if eq {${acl_m8}}{1}{1}{0}}
    message = ${acl_m9}

  5. Save the file
  6. Run


    That’s it you should now have the RBL added to your Exim mail server. You can off curse add as many RBLs as you like but please keep in mind that too many of them will increase the chances of false positives and can increase the general load on the server.

Please follow and like us:
About shk

shk is a DevOps engineer with more than 12 years of experience in different organizations. He enthusiastic about learning new technologies and shares his knowledge through his blogs.

Comment Policy:

Your words are your own, so be nice and helpful if you can. Please, only use your real name, not your business name or keywords. Using business name or keywords instead of your real name will lead to the comment being deleted. Anonymous commenting is not allowed either. Limit the amount of links submitted in your comment. We accept clean XHTML in comments, but don't overdo it please.

Tell us what you're thinking...

All comments are moderated.

* Denotes required field.



Previous Post:
Next Post: