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