From b797f3c77cda5618594935be5c69e297b09eb362 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Sat, 7 Jun 2025 13:29:24 +0200 Subject: sender_bcc_maps --- hosts/surtr/email/default.nix | 6 ++++++ hosts/surtr/postgresql/default.nix | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/hosts/surtr/email/default.nix b/hosts/surtr/email/default.nix index 87c42fbd..ca5d2755 100644 --- a/hosts/surtr/email/default.nix +++ b/hosts/surtr/email/default.nix @@ -275,6 +275,12 @@ in { postscreen_access_list = ""; postscreen_denylist_action = "drop"; postscreen_greet_action = "enforce"; + + sender_bcc_maps = ''pgsql:${pkgs.writeText "virtual_mailbox_maps.cf" '' + hosts = postgresql:///email + dbname = email + query = SELECT value FROM sender_bcc_maps WHERE key = '%s' + ''}''; }; masterConfig = { "465" = { diff --git a/hosts/surtr/postgresql/default.nix b/hosts/surtr/postgresql/default.nix index e29da0b8..2908435d 100644 --- a/hosts/surtr/postgresql/default.nix +++ b/hosts/surtr/postgresql/default.nix @@ -314,6 +314,18 @@ in { CREATE UNIQUE INDEX relay_unique ON relay_access (mailbox, domain); COMMIT; + + BEGIN; + SELECT _v.register_patch('015-sender_bcc', ARRAY[], null); + + CREATE TABLE sender_bcc_maps ( + id uuid PRIMARY KEY NOT NULL DEFAULT gen_random_uuid(), + key text NOT NULL CONSTRAINT key_not_empty CHECK (key <> '''), + value text NOT NULL CONSTRAINT value_not_empty CHECK (value <> '''), + CONSTRAINT key_unique UNIQUE (key) + ); + + COMMIT; ''} psql etebase postgres -eXf ${pkgs.writeText "etebase.sql" '' -- cgit v1.2.3