Hi,
I'm testing the new ActiveSync shared mailbox impersonation feature introduced in the recent releases.
Environment
grommunio Community
openSUSE Leap 16.0
grommunio-sync 2.4.22
gromox 3.8.34
iPhone (iOS 26.5)
ActiveSync (manual Exchange configuration)
ALLOW_IMPERSONATE is enabled:
define('ALLOW_IMPERSONATE', true);
The authenticating user has Full Mailbox Access and Send As permissions on the shared mailbox.
Scenario 1 (same domain)
Shared mailbox:
shared@example.com
Authenticating user:
user@example.com
Username used on the iPhone:
shared!user@example.com
Result:
✅ Works correctly.
The log shows normal ActiveSync synchronization:
FolderSync
Settings
Sync
Ping
HTTP 200
Scenario 2 (different domains)
Shared mailbox:
shared@example-a.com
Authenticating user:
user@example-b.com
Username:
shared@example-a.com!user@example-b.com
Expected:
The shared mailbox from example-a.com should be opened.
Actual behaviour:
The log shows that the mailbox name is internally rewritten to
shared@example-a.com@example-b.com
which obviously does not exist.
Log excerpt:
Grommunio->openMessageStore(
'shared@example-a.com@example-b.com'):
No store found for this user
AuthenticationRequiredException:
User 'shared@example-a.com@example-b.com'
has no default store
The iPhone only reports:
Incorrect password
although authentication itself appears to succeed.
Observation
The impersonation feature itself is working.
The issue only appears when the shared mailbox belongs to a different mail domain than the authenticating user.
It looks as if the authentication user's domain is appended to an already fully-qualified mailbox address.
Question
Is cross-domain shared mailbox impersonation currently supported?
Or is this a bug in the mailbox name parsing?