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 + + '' + ]; + }; }; }