WHM's Exim Advanced Editor not accepting settings for DKIM


May 24, 2016
cPanel Access Level
Root Administrator
I'm trying to configure DKIM for my outbound mail, which in part I've mostly got working. The problem I have is that the changes I make to my exim.conf work, but get overwritten from time to time with updates to Exim and/or WHM, as my changes seem to last a little over a week. From what I understand, this file gets built from a number of source files including exim.conf.local. It seems that the correct way to edit this file is by making changes to it in WHM under the "Advanced Editor" in the Exim Configuration Manager:

So in that, I populate section TRANSPORTMIDDLE with all my transports. When I do, the tick goes green - but it won't save the configuration.

Its keeps coming back with the following error:

Your configuration could not be updated.

Doing Dry Run Dry Run failed Configuration file has an invalid syntax. Please try the edit again.

Error message from syntax check: 2016-04-21 10:32:51 Exim configuration error: there are two transports called "mailman_virtual_transport"

Looking at the output file that is has tried to generate, I can see it has duplicated what I've added with the old settings present in the file. It hasn't overwritten the original transport settings nor changed them.

So - question - what is the correct way to change the following transport settings

dkim_remote_smtp: driver = smtp interface = <; ${if exists {/etc/mailips}{${lookup{${lc:$original_domain}}lsearch{/etc/mailips}{$value}{${lookup{${lc:$sender_address_domain}}lsearch{/etc/mailips}{$value}{${lookup{${perl{get_sender_from_uid}}}lsearch*{/etc/mailips}{$value}{}}}}}}}} helo_data = ${if exists {/etc/mailhelo}{${lookup{${lc:$original_domain}}lsearch{/etc/mailhelo}{$value}{${lookup{${lc:$sender_address_domain}}lsearch{/etc/mailhelo}{$value}{${lookup{${perl{get_sender_from_uid}}}lsearch*{/etc/mailhelo}{$value}{$primary_hostname}}}}}}}{$primary_hostname}} dkim_domain = ${lc:${domain:$h_from:}} dkim_selector = x dkim_private_key = "/etc/dkim.private.key" dkim_canon = relaxed​

When researching this topic, I can only find posts around 2010 / 2012 - suggesting that these changes can't be made in the advanced editor - is this still the case? I would certainly like to learn to configure this the correct way.


Staff member
Apr 11, 2011

Could you elaborate on how the native DKIM feature offered in cPanel is not sufficient? For instance, what in-particular do you need to customize or change?

Thank you.