]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/mail/opensmtpd.nix
Prepare script for opensmtpd next upgrade
[perso/Immae/Config/Nix.git] / modules / private / mail / opensmtpd.nix
index 7831ac0d587bcf352426d72962b2e33ce74c16c6..a7be066f4f95bf780501fab39f53250dc84d96e3 100644 (file)
@@ -8,26 +8,35 @@
         group = "smtpd";
         permissions = "0400";
         text = ''
-          eldiron    ${name}:${config.myEnv.servers."${name}".ldap.password}
+          eldiron    ${name}:${config.hostEnv.ldap.password}
           '';
       }
     ];
     users.users.smtpd.extraGroups = [ "keys" ];
     services.opensmtpd = {
       enable = true;
-      serverConfiguration = ''
+      serverConfiguration = let
+        filter-rewrite-from = pkgs.runCommand "filter-rewrite-from.py" {
+          buildInputs = [ pkgs.python3 ];
+        } ''
+          cp ${./filter-rewrite-from.py} $out
+          patchShebangs $out
+        '';
+      in ''
         table creds \
           "${config.secrets.fullPaths."opensmtpd/creds"}"
-        # FIXME: filtering requires 6.6
+        # FIXME: filtering requires 6.6, uncomment following lines when
+        # upgrading
         # filter "fixfrom" \
-        #   proc-exec "${pkgs.procmail}/bin/formail -i 'From: ${name}@immae.eu'"
+        #   proc-exec "${filter-rewrite-from} ${name}@immae.eu"
+        # listen on socket filter "fixfrom"
         action "relay-rewrite-from" relay \
-          helo ${config.hostEnv.FQDN} \
+          helo ${config.hostEnv.fqdn} \
           host smtp+tls://eldiron@eldiron.immae.eu:587 \
           auth <creds> \
           mail-from ${name}@immae.eu
         action "relay" relay \
-          helo ${config.hostEnv.FQDN} \
+          helo ${config.hostEnv.fqdn} \
           host smtp+tls://eldiron@eldiron.immae.eu:587 \
           auth <creds>
         match for any !mail-from "@immae.eu" action "relay-rewrite-from"