From: Wulf Coulmann Date: Fri, 6 Mar 2026 08:40:23 +0000 (+0100) Subject: Update exim4 configuration hints X-Git-Tag: RELEASE_1_8_0~30 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=refs%2Fpull%2F88%2Fhead;p=thirdparty%2Fmlmmj.git Update exim4 configuration hints - add debug output to router and transport - lookup changes according exim4 >= 4.94 taind behaver (Errors like "Tainted filename for search") - add router condition for setups with more than one domain (you need uniq local_parts over all your lists, but we do not want to match the transport on local_part@wrong.domain) hint - VERP config is not changed/updated, may not work --- diff --git a/README.exim4.md b/README.exim4.md index e4090af4..4a19ac94 100644 --- a/README.exim4.md +++ b/README.exim4.md @@ -15,6 +15,8 @@ Notes: lists there are. Note that the owner of the mlmmj spool must still be the mlmmj user (and this user must have at least x rights to the directories below). + *alternative you can run mlmmj with the exim4 user (on Debian/Devuan it is + "Debian-exim") - Existence of mailing lists is automatically checked ($listdir) and you don't need to put anything into your aliases file - If you want VERP to be done by your MTA, follow the instructions below and @@ -47,9 +49,11 @@ beginning): ``` mlmmj_router: + debug_print = "R: mlmmj_router for $local_part@$domain" driver = accept domains = +mlmmj_domains require_files = MLMMJ_HOME/${lc::$local_part} + condition = ${lookup{$local_part@$domain} lsearch*,ret=key{${lookup {$local_part} dsearch,ret=full {MLMMJ_HOME}}/control/listaddress}} # Use this instead, if you don't want to give Exim rx rights to mlmmj spool. # Exim will then spawn a new process running under the UID of "mlmmj". #require_files = mlmmj:MLMMJ_HOME/${lc::$local_part} @@ -60,7 +64,6 @@ mlmmj_router: transport = mlmmj_transport ``` - If you want VERP to be done by your MTA, also add this: ``` @@ -91,15 +94,20 @@ don't use the default location!): ``` mlmmj_transport: + debug_print = "T: mlmmj_transport for $local_part $local_part_data@$domain" driver = pipe return_path_add user = mlmmj group = mlmmj + # if you use the exim4 user (Debian) + #user = Debian-exim + #group = Debian-exim home_directory = MLMMJ_HOME current_directory = MLMMJ_HOME - command = /usr/local/bin/mlmmj-receive -F -L MLMMJ_HOME/${lc:$local_part} + command = /usr/bin/mlmmj-receive -F -L "${lookup {$local_part} dsearch,ret=full {MLMMJ_HOME}}" ``` + If you want VERP to be done by your MTA, also add this: ```