diff --git a/snappymail/v/0.0.0/app/libraries/snappymail/sasl.php b/snappymail/v/0.0.0/app/libraries/snappymail/sasl.php index d5c9bfb30..d54015da2 100644 --- a/snappymail/v/0.0.0/app/libraries/snappymail/sasl.php +++ b/snappymail/v/0.0.0/app/libraries/snappymail/sasl.php @@ -21,8 +21,11 @@ abstract class SASL final public static function factory(string $type) { if (\preg_match('/^([A-Z2]+)(?:-(.+))?$/Di', $type, $m)) { + if ('XOAUTH2' === $m[1] || 'OAUTHBEARER' === $m[1]) { + $m[1] = 'OAUTH'; + } $class = __CLASS__ . "\\{$m[1]}"; - if (\class_exists($class)) { + if (\class_exists($class) && $class::isSupported($m[2] ?? '')) { return new $class($m[2] ?? ''); } }