diff --git a/plugins/acl/acl.php b/plugins/acl/acl.php index 31cb514f6..9a015956d 100644 --- a/plugins/acl/acl.php +++ b/plugins/acl/acl.php @@ -494,6 +494,13 @@ class acl extends rcube_plugin if (!strpos($user, '@') && ($realm = $this->get_realm())) { $user .= '@' . rcube_utils::idn_to_ascii(preg_replace('/^@/', '', $realm)); } + + // Make sure it's valid email address to prevent from "disappearing folder" + // issue in Cyrus IMAP e.g. when the acl user identifier contains spaces inside. + if (strpos($user, '@') && !rcube_utils::check_email($user, false)) { + $user = null; + } + $username = $user; }