You can accomplish this by adding the following line to the check_message ACL in your exim configuration:
Code:
accept sender_domains = lsearch;/etc/spamfreedomains
To do this, go to WHM -> Exim Configuration Editor -> Advanced Editor, and place the aforementioned line so the check_message looks like this:
Code:
check_message:
# Enabling this will make the server non-rfc compliant
# require verify = header_sender
accept hosts = 127.0.0.1 : +relay_hosts
accept sender_domains = lsearch;/etc/spamfreedomains
If possible, you may want to consider implementing this whitelist based on the source host IP, rather than the domain. While an unlikely scenario, this would prevent people from masquerading as that domain, and circumventing your spam filters as a result.
To do this, you would simply change the ACL addition to:
Code:
accept hosts = net-iplsearch;/etc/spamfreehosts
Note that either way you implement this, you will need to create the /etc/spamfree(hosts|domains) file before applying the changes. Failing to do this will render that ACL, and message delivery in a broken state.
Code:
touch /etc/spamfreedomains
chown root:mail /etc/spamfreedomains
chmod 0750 /etc/spamfreedomains