mirror of
https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git
synced 2025-04-02 05:44:33 +05:00
Merge branch 'feature/ldap_forwards' into 'master'
ldap: Allow mailserver.forwards See merge request simple-nixos-mailserver/nixos-mailserver!313
This commit is contained in:
commit
507cc0de69
@ -1,4 +1,4 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, ... }:
|
||||||
{
|
{
|
||||||
assertions = lib.optionals config.mailserver.ldap.enable [
|
assertions = lib.optionals config.mailserver.ldap.enable [
|
||||||
{
|
{
|
||||||
@ -9,10 +9,6 @@
|
|||||||
assertion = config.mailserver.extraVirtualAliases == {};
|
assertion = config.mailserver.extraVirtualAliases == {};
|
||||||
message = "When the LDAP support is enable (mailserver.ldap.enable = true), it is not possible to define mailserver.extraVirtualAliases";
|
message = "When the LDAP support is enable (mailserver.ldap.enable = true), it is not possible to define mailserver.extraVirtualAliases";
|
||||||
}
|
}
|
||||||
{
|
|
||||||
assertion = config.mailserver.forwards == {};
|
|
||||||
message = "When the LDAP support is enable (mailserver.ldap.enable = true), it is not possible to define mailserver.forwards";
|
|
||||||
}
|
|
||||||
] ++ lib.optionals (config.mailserver.enable && config.mailserver.certificateScheme != "acme") [
|
] ++ lib.optionals (config.mailserver.enable && config.mailserver.certificateScheme != "acme") [
|
||||||
{
|
{
|
||||||
assertion = config.mailserver.acmeCertificateName == config.mailserver.fqdn;
|
assertion = config.mailserver.acmeCertificateName == config.mailserver.fqdn;
|
||||||
|
@ -104,6 +104,10 @@ pkgs.nixosTest {
|
|||||||
searchScope = "sub";
|
searchScope = "sub";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
forwards = {
|
||||||
|
"bob_fw@example.com" = "bob@example.com";
|
||||||
|
};
|
||||||
|
|
||||||
vmailGroupName = "vmail";
|
vmailGroupName = "vmail";
|
||||||
vmailUID = 5000;
|
vmailUID = 5000;
|
||||||
|
|
||||||
@ -179,5 +183,39 @@ pkgs.nixosTest {
|
|||||||
"--dst-password-file <(echo '${bobPassword}')",
|
"--dst-password-file <(echo '${bobPassword}')",
|
||||||
"--ignore-dkim-spf"
|
"--ignore-dkim-spf"
|
||||||
]))
|
]))
|
||||||
|
|
||||||
|
with subtest("Test mail forwarding works"):
|
||||||
|
machine.succeed(" ".join([
|
||||||
|
"mail-check send-and-read",
|
||||||
|
"--smtp-port 587",
|
||||||
|
"--smtp-starttls",
|
||||||
|
"--smtp-host localhost",
|
||||||
|
"--smtp-username alice@example.com",
|
||||||
|
"--imap-host localhost",
|
||||||
|
"--imap-username bob@example.com",
|
||||||
|
"--from-addr alice@example.com",
|
||||||
|
"--to-addr bob_fw@example.com",
|
||||||
|
"--src-password-file <(echo '${alicePassword}')",
|
||||||
|
"--dst-password-file <(echo '${bobPassword}')",
|
||||||
|
"--ignore-dkim-spf"
|
||||||
|
]))
|
||||||
|
|
||||||
|
with subtest("Test cannot send mail from forwarded address"):
|
||||||
|
machine.fail(" ".join([
|
||||||
|
"mail-check send-and-read",
|
||||||
|
"--smtp-port 587",
|
||||||
|
"--smtp-starttls",
|
||||||
|
"--smtp-host localhost",
|
||||||
|
"--smtp-username bob@example.com",
|
||||||
|
"--imap-host localhost",
|
||||||
|
"--imap-username alice@example.com",
|
||||||
|
"--from-addr bob_fw@example.com",
|
||||||
|
"--to-addr alice@example.com",
|
||||||
|
"--src-password-file <(echo '${bobPassword}')",
|
||||||
|
"--dst-password-file <(echo '${alicePassword}')",
|
||||||
|
"--ignore-dkim-spf"
|
||||||
|
]))
|
||||||
|
machine.succeed("journalctl -u postfix | grep -q 'Sender address rejected: not owned by user bob@example.com'")
|
||||||
|
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user