You'll need to make the following changes to your exim.conf
file:
In the main configuration section, make sure that you have enabled the acl_smtp_mail
control as follows:
acl_smtp_mail = acl_check_mail
Be sure to change acl_check_mail
to the actual name of your access control list that handles acl_smtp_mail
Then, in the acl_check_rcpt
ACL configuration section, create a new rule:
accept condition = ${lookup{$sender_address}lsearch{/etc/exim/freezelist_sender_addresses}{1}{0}}
control = freeze/no_tell
Save the config file. Now create the file /etc/exim/freezelist_sender_addresses
and place all your sender addresses which need to be frozen into this file, one address per line. Make sure you set the correct permissions on this file so that Exim can read it.
All emails sent from the addresses in the /etc/exim/freezelist_sender_addresses
will now be accepted into the queue (provided they pass the other ACLs) and then automatically frozen by Exim.
To unfreeze these messages, run this command, replacing user@domain.tld with the address of the sender whose mail has been frozen:
exiqgrep -i -f user@domain.tld | xargs exim -Mt