X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=systems%2Feldiron%2Fwebsites%2Fmail%2Fmta-sts.nix;h=240bcdb96af5082bf49a77a1fbc5212ade9e8015;hb=6ce9fbebb8f1da12911e40ad9b01666c3df42b60;hp=24387027a1e64ca8b8522f0c6e6865e1a5352bd2;hpb=670d287ee1dc24437ecdd030ccacd2cb5d55109a;p=perso%2FImmae%2FConfig%2FNix.git
diff --git a/systems/eldiron/websites/mail/mta-sts.nix b/systems/eldiron/websites/mail/mta-sts.nix
index 2438702..240bcdb 100644
--- a/systems/eldiron/websites/mail/mta-sts.nix
+++ b/systems/eldiron/websites/mail/mta-sts.nix
@@ -17,11 +17,160 @@ let
"cp ${file d} $out/${d.fqdn}.txt"
) domains)}
'';
+ autoconfigRoot =
+ let autoconfig = pkgs.writeText "config-v1.1.xml" ''
+
+
+
+ mail.immae.eu
+ %EMAILDOMAIN%
+ Immae E-mail
+ Immae E-mail
+
+
+ imap.immae.eu
+ 143
+ STARTTLS
+ %EMAILADDRESS%
+ password-cleartext
+
+
+
+ imap.immae.eu
+ 993
+ SSL
+ %EMAILADDRESS%
+ password-cleartext
+
+
+
+ pop.immae.eu
+ 110
+ STARTTLS
+ %EMAILADDRESS%
+ password-cleartext
+
+
+
+ pop.immae.eu
+ 995
+ SSL
+ %EMAILADDRESS%
+ password-cleartext
+
+
+
+ smtp.immae.eu
+ 587
+ STARTTLS
+ %EMAILADDRESS%
+ password-cleartext
+
+
+
+ smtp.immae.eu
+ 465
+ SSL
+ %EMAILADDRESS%
+ password-cleartext
+
+
+
+ '';
+ autodiscover = pkgs.writeText "Autodiscover.xml" ''
+
+
+
+
+ Name
+
+
+ email
+ settings
+
+ IMAP
+ 1
+ imap.immae.eu
+ 143
+ on
+ off
+ off
+ on
+
+
+ POP3
+ 1
+ pop3.immae.eu
+ 110
+ on
+ off
+ off
+ on
+
+
+ SMTP
+ 1
+ smtp.immae.eu
+ 587
+ on
+ off
+ off
+ on
+
+
+ IMAP
+ 1
+ imap.immae.eu
+ 993
+ on
+ off
+ on
+ on
+
+
+ POP3
+ 1
+ pop3.immae.eu
+ 995
+ on
+ off
+ on
+ on
+
+
+ SMTP
+ 1
+ smtp.immae.eu
+ 465
+ on
+ off
+ on
+ on
+
+
+
+
+ '';
+ in
+ pkgs.runCommand "autoconfig" {} ''
+ mkdir -p $out/mail
+ ln -s ${autoconfig} $out/mail/config-v1.1.xml
+ mkdir -p $out/AutoDiscover
+ ln -s ${autodiscover} $out/AutoDiscover/AutoDiscover.xml
+ mkdir -p $out/Autodiscover
+ ln -s ${autodiscover} $out/Autodiscover/Autodiscover.xml
+ mkdir -p $out/autodiscover
+ ln -s ${autodiscover} $out/autodiscover/autodiscover.xml
+ '';
cfg = config.myServices.websites.tools.email;
in
{
config = lib.mkIf cfg.enable {
- security.acme.certs.mail.extraDomainNames = ["mta-sts.mail.immae.eu"] ++ map (v: "mta-sts.${v.fqdn}") domains;
+ security.acme.certs.mail.extraDomainNames =
+ [ "mta-sts.mail.immae.eu" "autoconfig.mail.immae.eu" "autodiscover.mail.immae.eu" ]
+ ++ map (v: "mta-sts.${v.fqdn}") domains
+ ++ map (v: "autoconfig.${v.fqdn}") domains
+ ++ map (v: "autodiscover.${v.fqdn}") domains;
services.websites.env.tools.vhostConfs.mta_sts = {
certName = "mail";
hosts = ["mta-sts.mail.immae.eu"] ++ map (v: "mta-sts.${v.fqdn}") domains;
@@ -38,5 +187,20 @@ in
''
];
};
+ services.websites.env.tools.vhostConfs.mail_autoconfig = {
+ certName = "mail";
+ hosts = ["autoconfig.mail.immae.eu" "autodiscover.mail.immae.eu" ]
+ ++ map (v: "autoconfig.${v.fqdn}") domains
+ ++ map (v: "autodiscover.${v.fqdn}") domains;
+ root = autoconfigRoot;
+ extraConfig = [
+ ''
+
+ Require all granted
+ Options -Indexes
+
+ ''
+ ];
+ };
};
}