imap backend full email login ios autodiscovery setup not working constantly



  • I have just set up z-push 2.5.2 with the imap back connecting to dovecot end and autodiscovery configured on audodiscovery.domain.com

    I’m using various iOS devices to create an email account, and dovcot is expecting the full email address as the username (as I have a few different domains with all virtual users).

    I have the USE_FULLEMAIL_FOR_LOGIN set in both autodiscovery and z-push config files.

    When I create a new email account on iOS 13.3 (tried an iPad and 2 different iPhones) the auto discover part works and authenticated with the full email address to dovecot. However when it then tries to authenticated with z-push on the mail server, it always tries to authenticate with the username before the @ sign, and does not include the domain. Thus the authentication fails.

    If I let it create the account anyway, I can then go in and edit the account and change the username to add the domain to it, and it all works as expected from then on.

    Interestingly, it did work once when I first tried it one one of my accounts, and after a full reboot of my phone worked again. But I’m not sure thats really repeatable, or practical to ask my users to do.

    I have tried it with a very old iPad which is running iOS 8 and it works exactly as expected, auto discovery and then using the the full email address to sync email.

    Is there anything I can do to make it use the full email address at account set up?

    Regards

    Ben



  • I’m going to add to this for people who have a similar problem.

    It seems that this is an iOS issue, and if you try and set up the mail account again (as in let it do the auto discover again from the start) it will sometimes work, sometimes not. It seems to be quite random as when it decides to pass the full email vs the just the part before the @ sign.

    So I have removed the ZPUSH_HOST configuration parameter from autodiscover, this way it passes the current servername (autodiscover.domain.com) as the one to use for active sync.

    Then in request.php I added a short check to see if the username was missing the @, and if it was added the domain. The correct domain.

    This all seems to work as a quick hack to fix the iOS bug.

    Regards

    Ben


Log in to reply