diff --git a/appinfo/info.xml b/appinfo/info.xml index 7bcdfd7..faef768 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -12,7 +12,7 @@ https://github.com/nextcloud/apps/issues https://github.com/nextcloud/apps.git - + 0.4 true diff --git a/lib/imap.php b/lib/imap.php index b7bde1b..27fbd08 100644 --- a/lib/imap.php +++ b/lib/imap.php @@ -56,7 +56,13 @@ class OC_User_IMAP extends \OCA\user_external\Base { $users[] = $row['userid']; } - if(count($users) === 1) { + // Replace escaped @ symbol in uid (which is a mail address) + // but only if there is no @ symbol and if there is a %40 inside the uid + if (!(strpos($uid, '@') !== false) && (strpos($uid, '%40') !== false)) { + $uid = str_replace("%40","@",$uid); + } + + if(count($users) === 1) { $username = $uid; $uid = $users[0]; // Check if we only want logins from ONE domain and strip the domain part from UID