diff --git a/mail-server/postfix.nix b/mail-server/postfix.nix index bc8ae6c..b36accd 100644 --- a/mail-server/postfix.nix +++ b/mail-server/postfix.nix @@ -26,7 +26,7 @@ let valiases_postfix = lib.flatten (lib.mapAttrsToList (name: value: let to = name; - in map (from: "${from} ${to}") value.aliases) + in map (from: "${from} ${to}") (value.aliases ++ lib.singleton name)) cfg.loginAccounts); # catchAllPostfix :: [ String ] diff --git a/tests/extern.nix b/tests/extern.nix index e4c11ba..28fff3b 100644 --- a/tests/extern.nix +++ b/tests/extern.nix @@ -48,7 +48,9 @@ import { }; client = { config, pkgs, ... }: { - environment.systemPackages = with pkgs; [ fetchmail msmtp procmail ]; + environment.systemPackages = with pkgs; [ + fetchmail msmtp procmail findutils + ]; }; }; @@ -88,6 +90,13 @@ import { from chuck\@example.com user user2\@example.com password user2 + + account test4 + host SERVER + port 587 + from postmaster\@example.com + user user1\@example.com + password user1 ''; email1 = '' @@ -117,6 +126,20 @@ import { XOXO User1 ''; + email3 = + '' + From: Postmaster + To: Chuck + Cc: + Bcc: + Subject: This is a test Email from postmaster\@example.com to chuck + Reply-To: + + Hello Chuck, + + I think I may have misconfigured the mail server + XOXO Postmaster + ''; in '' startAll; @@ -196,6 +219,16 @@ import { $client->succeed("sleep 5"); # fetchmail returns EXIT_CODE 0 when it retrieves mail $client->succeed("fetchmail -v"); + + $client->succeed("rm ~/mail/*"); + $client->succeed("rm mail.txt"); + $client->succeed("echo '${email2}' > mail.txt"); + # send email from user1 to chuck + $client->succeed("msmtp -a test4 --tls=on --tls-certcheck=off --auth=on chuck\@example.com < mail.txt >&2"); + $client->succeed("sleep 5"); + # fetchmail returns EXIT_CODE 1 when no new mail + # if this succeeds, it means that user1 recieved the mail that was intended for chuck. + $client->fail("fetchmail -v"); };