diff options
Diffstat (limited to 'modules/private/mail/opensmtpd.nix')
-rw-r--r-- | modules/private/mail/opensmtpd.nix | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/modules/private/mail/opensmtpd.nix b/modules/private/mail/opensmtpd.nix index e4a6140..a7be066 100644 --- a/modules/private/mail/opensmtpd.nix +++ b/modules/private/mail/opensmtpd.nix | |||
@@ -15,12 +15,21 @@ | |||
15 | users.users.smtpd.extraGroups = [ "keys" ]; | 15 | users.users.smtpd.extraGroups = [ "keys" ]; |
16 | services.opensmtpd = { | 16 | services.opensmtpd = { |
17 | enable = true; | 17 | enable = true; |
18 | serverConfiguration = '' | 18 | serverConfiguration = let |
19 | filter-rewrite-from = pkgs.runCommand "filter-rewrite-from.py" { | ||
20 | buildInputs = [ pkgs.python3 ]; | ||
21 | } '' | ||
22 | cp ${./filter-rewrite-from.py} $out | ||
23 | patchShebangs $out | ||
24 | ''; | ||
25 | in '' | ||
19 | table creds \ | 26 | table creds \ |
20 | "${config.secrets.fullPaths."opensmtpd/creds"}" | 27 | "${config.secrets.fullPaths."opensmtpd/creds"}" |
21 | # FIXME: filtering requires 6.6 | 28 | # FIXME: filtering requires 6.6, uncomment following lines when |
29 | # upgrading | ||
22 | # filter "fixfrom" \ | 30 | # filter "fixfrom" \ |
23 | # proc-exec "${pkgs.procmail}/bin/formail -i 'From: ${name}@immae.eu'" | 31 | # proc-exec "${filter-rewrite-from} ${name}@immae.eu" |
32 | # listen on socket filter "fixfrom" | ||
24 | action "relay-rewrite-from" relay \ | 33 | action "relay-rewrite-from" relay \ |
25 | helo ${config.hostEnv.fqdn} \ | 34 | helo ${config.hostEnv.fqdn} \ |
26 | host smtp+tls://eldiron@eldiron.immae.eu:587 \ | 35 | host smtp+tls://eldiron@eldiron.immae.eu:587 \ |