diff options
author | Galen Abell <galen@galenabell.com> | 2019-10-16 21:51:45 +0200 |
---|---|---|
committer | Antoine Eiche <lewo@abesis.fr> | 2020-05-08 20:43:46 +0200 |
commit | d47e4ead88043615c76c275879d38004c91cd264 (patch) | |
tree | 0a5a278e32b28fd9f5f38d1df963cc6ea4e1c904 /mail-server | |
parent | b7c49fa26a66a724e4e985851e34cf76bc01c9e1 (diff) |
Add send-only accounts
Diffstat (limited to 'mail-server')
-rw-r--r-- | mail-server/postfix.nix | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/mail-server/postfix.nix b/mail-server/postfix.nix index b61f038..00c62c5 100644 --- a/mail-server/postfix.nix +++ b/mail-server/postfix.nix @@ -50,6 +50,13 @@ let # all_valiases_postfix :: [ String ] all_valiases_postfix = valiases_postfix ++ extra_valiases_postfix; + # denied_recipients_postfix :: [ String ] + denied_recipients_postfix = (map + (acct: "${acct.name} REJECT ${acct.rejectMessage}") + (lib.filter (acct: acct.sendOnly) (lib.attrValues cfg.loginAccounts))); + denied_recipients_file = builtins.toFile "denied_recipients" (lib.concatStringsSep "\n" denied_recipients_postfix); + + # valiases_file :: Path valiases_file = builtins.toFile "valias" (lib.concatStringsSep "\n" (all_valiases_postfix ++ @@ -122,6 +129,7 @@ in networksStyle = "host"; mapFiles."valias" = valiases_file; mapFiles."vaccounts" = vaccounts_file; + mapFiles."denied_recipients" = denied_recipients_file; mapFiles."reject_senders" = reject_senders_file; mapFiles."reject_recipients" = reject_recipients_file; sslCert = certificatePath; @@ -160,6 +168,7 @@ in # quota and spf checking smtpd_recipient_restrictions = + check_recipient_access ${mappedFile "denied_recipients"}, check_recipient_access ${mappedFile "reject_recipients"}, check_policy_service inet:localhost:12340, check_policy_service unix:private/policy-spf |