diff --git a/application/Espo/Modules/Crm/Services/InboundEmail.php b/application/Espo/Modules/Crm/Services/InboundEmail.php index 1a718cedc7..80f4db6a46 100644 --- a/application/Espo/Modules/Crm/Services/InboundEmail.php +++ b/application/Espo/Modules/Crm/Services/InboundEmail.php @@ -116,7 +116,7 @@ class InboundEmail extends \Espo\Services\Record $folders = new \RecursiveIteratorIterator($storage->getFolders(), \RecursiveIteratorIterator::SELF_FIRST); foreach ($folders as $name => $folder) { - $foldersArr[] = $folder->getGlobalName(); + $foldersArr[] = mb_convert_encoding($folder->getGlobalName(), 'UTF-8', 'UTF7-IMAP'); } return $foldersArr; } @@ -168,9 +168,11 @@ class InboundEmail extends \Espo\Services\Record $monitoredFoldersArr = explode(',', $monitoredFolders); foreach ($monitoredFoldersArr as $folder) { - $folder = trim($folder); + $folder = mb_convert_encoding(trim($folder), 'UTF7-IMAP', 'UTF-8'); + $storage->selectFolder($folder); + $lastUID = 0; $lastDate = 0; if (!empty($fetchData['lastUID'][$folder])) { diff --git a/application/Espo/Services/EmailAccount.php b/application/Espo/Services/EmailAccount.php index 59d73b02fb..0baea2269a 100644 --- a/application/Espo/Services/EmailAccount.php +++ b/application/Espo/Services/EmailAccount.php @@ -87,7 +87,7 @@ class EmailAccount extends Record $folders = new \RecursiveIteratorIterator($storage->getFolders(), \RecursiveIteratorIterator::SELF_FIRST); foreach ($folders as $name => $folder) { - $foldersArr[] = $folder->getGlobalName(); + $foldersArr[] = mb_convert_encoding($folder->getGlobalName(), 'UTF-8', 'UTF7-IMAP'); } return $foldersArr; } @@ -152,7 +152,8 @@ class EmailAccount extends Record $monitoredFoldersArr = explode(',', $monitoredFolders); foreach ($monitoredFoldersArr as $folder) { - $folder = trim($folder); + $folder = mb_convert_encoding(trim($folder), 'UTF7-IMAP', 'UTF-8'); + $storage->selectFolder($folder); $lastUID = 0;