diff --git a/caddy/docker-compose.yml b/caddy/docker-compose.yml index 88df53a..374deb9 100644 --- a/caddy/docker-compose.yml +++ b/caddy/docker-compose.yml @@ -17,7 +17,7 @@ services: - $PWD/Caddyfile:/etc/caddy/Caddyfile - $PWD/mail_certs:/etc/caddy/mail_certs # email_autodiscover entfernt - Snippet ist jetzt in mail_certs eingebettet - - $PWD/email.mobileconfig.html:/etc/caddy/email.mobileconfig.html + # email.mobileconfig.html entfernt - Inhalt ist jetzt inline in mail_certs - $PWD/email-setup:/var/www/email-setup - caddy_data:/data - caddy_config:/config diff --git a/caddy/email.mobileconfig.html b/caddy/email.mobileconfig.html deleted file mode 100644 index 9643e6e..0000000 --- a/caddy/email.mobileconfig.html +++ /dev/null @@ -1,82 +0,0 @@ - - - -{{/* ─────────────────────────────────────────────────── - Apple MobileConfig Template (Caddy templates + Sprig) - - Aufruf: https://autodiscover./apple?email=user@domain.com - - Domain-Extraktion aus der E-Mail-Adresse: - email = sam@cielectrical.com - splitList "@" → ["sam", "cielectrical.com"] - last → cielectrical.com - → imap.cielectrical.com / smtp.cielectrical.com - ─────────────────────────────────────────────────── */}} -{{- $email := .Req.URL.Query.Get "email" -}} -{{- $domain := last (splitList "@" $email) -}} - - PayloadContent - - - EmailAccountDescription - {{$email}} - EmailAccountName - {{$email}} - EmailAccountType - EmailTypeIMAP - EmailAddress - {{$email}} - IncomingMailServerAuthentication - EmailAuthPassword - IncomingMailServerHostName - imap.{{$domain}} - IncomingMailServerPortNumber - 993 - IncomingMailServerUseSSL - - IncomingMailServerUsername - {{$email}} - OutgoingMailServerAuthentication - EmailAuthPassword - OutgoingMailServerHostName - smtp.{{$domain}} - OutgoingMailServerPortNumber - 465 - OutgoingMailServerUseSSL - - OutgoingMailServerUsername - {{$email}} - OutgoingPasswordRequired - - PayloadDescription - E-Mail Konfiguration - PayloadDisplayName - {{$domain}} E-Mail - PayloadIdentifier - com.{{$domain}}.email.account - PayloadType - com.apple.mail.managed - PayloadUUID - {{uuidv4}} - PayloadVersion - 1 - - - PayloadDescription - E-Mail Einrichtung fuer {{$email}} - PayloadDisplayName - {{$domain}} E-Mail - PayloadIdentifier - com.{{$domain}}.email.profile - PayloadOrganization - Bay Area Affiliates, Inc. - PayloadRemovalDisallowed - - PayloadType - Configuration - PayloadUUID - {{uuidv4}} - PayloadVersion - 1 - - \ No newline at end of file diff --git a/caddy/update-caddy-certs.sh b/caddy/update-caddy-certs.sh index cebd90b..7196e42 100755 --- a/caddy/update-caddy-certs.sh +++ b/caddy/update-caddy-certs.sh @@ -149,16 +149,80 @@ OUTPUT="${OUTPUT}\` 200\n" OUTPUT="${OUTPUT} }\n" OUTPUT="${OUTPUT}\n" -# --- 4. Apple MobileConfig (Template) --- -OUTPUT="${OUTPUT} # Apple MobileConfig (dynamisches Template)\n" -OUTPUT="${OUTPUT} # .tpl → .html damit file_server text/html liefert und templates rendert\n" +# --- 4. Apple MobileConfig (inline, wie Autodiscover/Autoconfig) --- +OUTPUT="${OUTPUT} # Apple MobileConfig (inline respond)\n" OUTPUT="${OUTPUT} route /apple {\n" -OUTPUT="${OUTPUT} root * /etc/caddy\n" -OUTPUT="${OUTPUT} rewrite * /email.mobileconfig.html\n" -OUTPUT="${OUTPUT} templates\n" OUTPUT="${OUTPUT} header Content-Type \"application/x-apple-aspen-config; charset=utf-8\"\n" OUTPUT="${OUTPUT} header Content-Disposition \"attachment; filename=email.mobileconfig\"\n" -OUTPUT="${OUTPUT} file_server\n" +OUTPUT="${OUTPUT} respond \`\n" +OUTPUT="${OUTPUT}\n" +OUTPUT="${OUTPUT}\n" +OUTPUT="${OUTPUT}\n" +OUTPUT="${OUTPUT} PayloadContent\n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} EmailAccountDescription\n" +OUTPUT="${OUTPUT} {query.email}\n" +OUTPUT="${OUTPUT} EmailAccountName\n" +OUTPUT="${OUTPUT} {query.email}\n" +OUTPUT="${OUTPUT} EmailAccountType\n" +OUTPUT="${OUTPUT} EmailTypeIMAP\n" +OUTPUT="${OUTPUT} EmailAddress\n" +OUTPUT="${OUTPUT} {query.email}\n" +OUTPUT="${OUTPUT} IncomingMailServerAuthentication\n" +OUTPUT="${OUTPUT} EmailAuthPassword\n" +OUTPUT="${OUTPUT} IncomingMailServerHostName\n" +OUTPUT="${OUTPUT} imap.{labels.1}.{labels.0}\n" +OUTPUT="${OUTPUT} IncomingMailServerPortNumber\n" +OUTPUT="${OUTPUT} 993\n" +OUTPUT="${OUTPUT} IncomingMailServerUseSSL\n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} IncomingMailServerUsername\n" +OUTPUT="${OUTPUT} {query.email}\n" +OUTPUT="${OUTPUT} OutgoingMailServerAuthentication\n" +OUTPUT="${OUTPUT} EmailAuthPassword\n" +OUTPUT="${OUTPUT} OutgoingMailServerHostName\n" +OUTPUT="${OUTPUT} smtp.{labels.1}.{labels.0}\n" +OUTPUT="${OUTPUT} OutgoingMailServerPortNumber\n" +OUTPUT="${OUTPUT} 465\n" +OUTPUT="${OUTPUT} OutgoingMailServerUseSSL\n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} OutgoingMailServerUsername\n" +OUTPUT="${OUTPUT} {query.email}\n" +OUTPUT="${OUTPUT} OutgoingPasswordRequired\n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} PayloadDescription\n" +OUTPUT="${OUTPUT} E-Mail Konfiguration\n" +OUTPUT="${OUTPUT} PayloadDisplayName\n" +OUTPUT="${OUTPUT} {labels.1}.{labels.0} E-Mail\n" +OUTPUT="${OUTPUT} PayloadIdentifier\n" +OUTPUT="${OUTPUT} com.{labels.1}.{labels.0}.email.account\n" +OUTPUT="${OUTPUT} PayloadType\n" +OUTPUT="${OUTPUT} com.apple.mail.managed\n" +OUTPUT="${OUTPUT} PayloadUUID\n" +OUTPUT="${OUTPUT} A1B2C3D4-E5F6-7890-ABCD-EF1234567890\n" +OUTPUT="${OUTPUT} PayloadVersion\n" +OUTPUT="${OUTPUT} 1\n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} PayloadDescription\n" +OUTPUT="${OUTPUT} E-Mail Einrichtung\n" +OUTPUT="${OUTPUT} PayloadDisplayName\n" +OUTPUT="${OUTPUT} {labels.1}.{labels.0} E-Mail\n" +OUTPUT="${OUTPUT} PayloadIdentifier\n" +OUTPUT="${OUTPUT} com.{labels.1}.{labels.0}.email.profile\n" +OUTPUT="${OUTPUT} PayloadOrganization\n" +OUTPUT="${OUTPUT} Bay Area Affiliates, Inc.\n" +OUTPUT="${OUTPUT} PayloadRemovalDisallowed\n" +OUTPUT="${OUTPUT} \n" +OUTPUT="${OUTPUT} PayloadType\n" +OUTPUT="${OUTPUT} Configuration\n" +OUTPUT="${OUTPUT} PayloadUUID\n" +OUTPUT="${OUTPUT} F0E1D2C3-B4A5-6789-0FED-CBA987654321\n" +OUTPUT="${OUTPUT} PayloadVersion\n" +OUTPUT="${OUTPUT} 1\n" +OUTPUT="${OUTPUT}\n" +OUTPUT="${OUTPUT}\` 200\n" OUTPUT="${OUTPUT} }\n" # --- 5. Samsung Email (nutzt ebenfalls autoconfig, kein extra Block nötig) ---