if the username contains non-ascii chars, try email address, as Dovecot does NOT deal with non-ascii usernames

This commit is contained in:
ralf 2023-11-14 16:27:35 +02:00
parent 802c4973a0
commit d95305815a

View File

@ -298,6 +298,13 @@ class Credentials
*/
public static function from_session(array $data, $set_identity=true)
{
// if the username contains non-ascii chars, try email address, as Dovecot does NOT deal with non-ascii usernames
if ($data['acc_imap_type'] === Api\Mail\Imap\Dovecot::class &&
in_array($data['acc_imap_logintype'], ['standard', 'vmailmgr']) &&
preg_match('/[^\x20-\x7e]/', $GLOBALS['egw_info']['user']['account_lid']))
{
$data['acc_imap_logintype'] = 'email';
}
switch($data['acc_imap_logintype'])
{
case 'standard':