From c56cae16d6ba2ffa5f633f23357b79587d610026 Mon Sep 17 00:00:00 2001 From: Andreas Knuth Date: Mon, 2 Mar 2026 16:58:26 -0600 Subject: [PATCH] sdfsdf --- caddy/Caddyfile | 1 - caddy/update-caddy-certs.sh | 115 +++++++++++++++++++++++++++++++++--- 2 files changed, 108 insertions(+), 8 deletions(-) diff --git a/caddy/Caddyfile b/caddy/Caddyfile index 94cef70..6a20a4c 100644 --- a/caddy/Caddyfile +++ b/caddy/Caddyfile @@ -4,5 +4,4 @@ acme_ca https://acme-v02.api.letsencrypt.org/directory debug } -import email_autodiscover import mail_certs \ No newline at end of file diff --git a/caddy/update-caddy-certs.sh b/caddy/update-caddy-certs.sh index 8090ef0..34a6157 100755 --- a/caddy/update-caddy-certs.sh +++ b/caddy/update-caddy-certs.sh @@ -64,6 +64,110 @@ OUTPUT="${OUTPUT}# Einbinden im Caddyfile: import mail_certs\n" OUTPUT="${OUTPUT}# Generiert: $(date)\n" OUTPUT="${OUTPUT}\n" +# --- Autodiscover/Autoconfig Snippet einbetten --- +OUTPUT="${OUTPUT}# ═══════════════════════════════════════════════\n" +OUTPUT="${OUTPUT}# Autodiscover/Autoconfig Snippet (dynamisch)\n" +OUTPUT="${OUTPUT}# {labels.1}.{labels.0} = Basisdomain aus Hostname\n" +OUTPUT="${OUTPUT}# ═══════════════════════════════════════════════\n" +OUTPUT="${OUTPUT}(email_settings) {\n" +OUTPUT="${OUTPUT} # Outlook Autodiscover (XML)\n" +OUTPUT="${OUTPUT} route /autodiscover/autodiscover.xml {\n" +OUTPUT="${OUTPUT} header Content-Type \"application/xml\"\n" +OUTPUT="${OUTPUT} respond \`\n" +OUTPUT="${OUTPUT}\n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} email\n" +OUTPUT="${OUTPUT} settings\n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} IMAP\n" +OUTPUT="${OUTPUT} imap.{labels.1}.{labels.0}\n" +OUTPUT="${OUTPUT} 993\n" +OUTPUT="${OUTPUT} on\n" +OUTPUT="${OUTPUT} {header.X-Anchormailbox}\n" +OUTPUT="${OUTPUT} off\n" +OUTPUT="${OUTPUT} on\n" +OUTPUT="${OUTPUT} on\n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} POP3\n" +OUTPUT="${OUTPUT} pop.{labels.1}.{labels.0}\n" +OUTPUT="${OUTPUT} 995\n" +OUTPUT="${OUTPUT} on\n" +OUTPUT="${OUTPUT} {header.X-Anchormailbox}\n" +OUTPUT="${OUTPUT} off\n" +OUTPUT="${OUTPUT} on\n" +OUTPUT="${OUTPUT} on\n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} SMTP\n" +OUTPUT="${OUTPUT} smtp.{labels.1}.{labels.0}\n" +OUTPUT="${OUTPUT} 465\n" +OUTPUT="${OUTPUT} on\n" +OUTPUT="${OUTPUT} {header.X-Anchormailbox}\n" +OUTPUT="${OUTPUT} off\n" +OUTPUT="${OUTPUT} on\n" +OUTPUT="${OUTPUT} on\n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT}\` 200\n" +OUTPUT="${OUTPUT} }\n" +OUTPUT="${OUTPUT}\n" +OUTPUT="${OUTPUT} # Modern Outlook (JSON)\n" +OUTPUT="${OUTPUT} route /autodiscover/autodiscover.json {\n" +OUTPUT="${OUTPUT} header Content-Type \"application/json\"\n" +OUTPUT="${OUTPUT} respond \`{\n" +OUTPUT="${OUTPUT} \"Protocol\": \"AutodiscoverV1\",\n" +OUTPUT="${OUTPUT} \"Url\": \"https://autodiscover.{labels.1}.{labels.0}/autodiscover/autodiscover.xml\"\n" +OUTPUT="${OUTPUT} }\` 200\n" +OUTPUT="${OUTPUT} }\n" +OUTPUT="${OUTPUT}\n" +OUTPUT="${OUTPUT} # Thunderbird Autoconfig\n" +OUTPUT="${OUTPUT} route /mail/config-v1.1.xml {\n" +OUTPUT="${OUTPUT} header Content-Type \"application/xml\"\n" +OUTPUT="${OUTPUT} respond \`\n" +OUTPUT="${OUTPUT}\n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} {labels.1}.{labels.0} Mail\n" +OUTPUT="${OUTPUT} {labels.1}.{labels.0}\n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} imap.{labels.1}.{labels.0}\n" +OUTPUT="${OUTPUT} 993\n" +OUTPUT="${OUTPUT} SSL\n" +OUTPUT="${OUTPUT} password-cleartext\n" +OUTPUT="${OUTPUT} %%EMAILADDRESS%%\n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} pop.{labels.1}.{labels.0}\n" +OUTPUT="${OUTPUT} 995\n" +OUTPUT="${OUTPUT} SSL\n" +OUTPUT="${OUTPUT} password-cleartext\n" +OUTPUT="${OUTPUT} %%EMAILADDRESS%%\n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} smtp.{labels.1}.{labels.0}\n" +OUTPUT="${OUTPUT} 465\n" +OUTPUT="${OUTPUT} SSL\n" +OUTPUT="${OUTPUT} password-cleartext\n" +OUTPUT="${OUTPUT} %%EMAILADDRESS%%\n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT}\` 200\n" +OUTPUT="${OUTPUT} }\n" +OUTPUT="${OUTPUT}\n" +OUTPUT="${OUTPUT} # Apple MobileConfig\n" +OUTPUT="${OUTPUT} route /apple {\n" +OUTPUT="${OUTPUT} templates {\n" +OUTPUT="${OUTPUT} mime \"application/x-apple-aspen-config\"\n" +OUTPUT="${OUTPUT} }\n" +OUTPUT="${OUTPUT} header Content-Type \"application/x-apple-aspen-config; charset=utf-8\"\n" +OUTPUT="${OUTPUT} root * /etc/caddy\n" +OUTPUT="${OUTPUT} rewrite * /email.mobileconfig.tpl\n" +OUTPUT="${OUTPUT} file_server\n" +OUTPUT="${OUTPUT} }\n" +OUTPUT="${OUTPUT}}\n\n" + # Node-Hostname immer als erstes (Default-Cert des DMS) echo " → Node-Hostname Block: $NODE_HOSTNAME" OUTPUT="${OUTPUT}# Node-Hostname (Default-Cert für DMS Fallback)\n" @@ -138,17 +242,14 @@ if [ -f "$CADDYFILE" ]; then echo " ..." echo " }" echo " import mail_certs ← hier einfügen" - echo " import email_autodiscover" - echo " ..." fi - # Autodiscover-Snippet prüfen + # Prüfe ob alte email_autodiscover Referenz entfernt werden kann if grep -q "import email_autodiscover" "$CADDYFILE"; then - echo " ✅ 'import email_autodiscover' bereits im Caddyfile vorhanden." - else echo "" - echo "⚠️ AKTION: 'import email_autodiscover' fehlt noch im Caddyfile!" - echo " Die Datei email_autodiscover enthält das (email_settings) Snippet." + echo "⚠️ AUFRÄUMEN: 'import email_autodiscover' im Caddyfile gefunden!" + echo " Das Snippet (email_settings) ist jetzt in mail_certs eingebettet." + echo " Bitte 'import email_autodiscover' aus dem Caddyfile entfernen." fi fi