diff --git a/apps/portal/server/api/apple-mailconfig.get.ts b/apps/portal/server/api/apple-mailconfig.get.ts
index 82a202d..35221cf 100644
--- a/apps/portal/server/api/apple-mailconfig.get.ts
+++ b/apps/portal/server/api/apple-mailconfig.get.ts
@@ -41,6 +41,11 @@ export default defineEventHandler(async (event) => {
const mailHost = new URL(useRuntimeConfig().public.mailUrl as string).host
// The regex above guarantees an @, but noUncheckedIndexedAccess doesn't know.
const localPart = email.split('@')[0] ?? email
+ // All user-visible labels derive from the address's own domain — this is a
+ // white-label platform, so neither "dezky" nor "Stalwart" may appear in a
+ // customer's account list.
+ const domain = email.split('@')[1] ?? mailHost
+ const d = xmlEscape(domain)
const accountUuid = randomUUID()
const caldavUuid = randomUUID()
const carddavUuid = randomUUID()
@@ -56,7 +61,7 @@ export default defineEventHandler(async (event) => {
PayloadContent
- EmailAccountDescriptiondezky mail (${e})
+ EmailAccountDescription${d}
EmailAccountName${n}
EmailAccountTypeEmailTypeIMAP
EmailAddress${e}
@@ -75,33 +80,33 @@ export default defineEventHandler(async (event) => {
PreventMove
SMIMEEnabled
PayloadDescriptionConfigures the ${e} mail account.
- PayloadDisplayNamedezky mail
+ PayloadDisplayNameMail (${d})
PayloadIdentifiereu.dezky.mail.${xmlEscape(localPart)}
PayloadTypecom.apple.mail.managed
PayloadUUID${accountUuid}
PayloadVersion1
- CalDAVAccountDescriptiondezky calendar (${e})
+ CalDAVAccountDescription${d} calendar
CalDAVHostName${h}
CalDAVPort443
CalDAVUseSSL
CalDAVUsername${e}
PayloadDescriptionConfigures the ${e} calendar account.
- PayloadDisplayNamedezky calendar
+ PayloadDisplayNameCalendar (${d})
PayloadIdentifiereu.dezky.caldav.${xmlEscape(localPart)}
PayloadTypecom.apple.caldav.account
PayloadUUID${caldavUuid}
PayloadVersion1
- CardDAVAccountDescriptiondezky contacts (${e})
+ CardDAVAccountDescription${d} contacts
CardDAVHostName${h}
CardDAVPort443
CardDAVUseSSL
CardDAVUsername${e}
PayloadDescriptionConfigures the ${e} contacts account.
- PayloadDisplayNamedezky contacts
+ PayloadDisplayNameContacts (${d})
PayloadIdentifiereu.dezky.carddav.${xmlEscape(localPart)}
PayloadTypecom.apple.carddav.account
PayloadUUID${carddavUuid}
@@ -109,9 +114,9 @@ export default defineEventHandler(async (event) => {
PayloadDescriptionSets up ${e} in Apple Mail, Calendar and Contacts. You'll be asked for the mailbox password during installation.
- PayloadDisplayNamedezky mail — ${e}
+ PayloadDisplayName${d} — mail, calendar & contacts (${e})
PayloadIdentifiereu.dezky.profile.${xmlEscape(localPart)}
- PayloadOrganizationdezky
+ PayloadOrganization${d}
PayloadRemovalDisallowed
PayloadTypeConfiguration
PayloadUUID${profileUuid}