e4bd92ca6376a339d99f331d160a10a08d41f2ec
Identities can now be set as primary (default), alias of an existing separate account, or separate account. Alias records store parent_id and skip server validation. Password sentinel changed to a safe string that survives HTML form round-trips. Preconfig host composition fixed to include security scheme.
ident_switch
ident_switch plugin for Roundcube
This plugin allows users to switch between different accounts (including remote) in single Roundcube session like this:
Inspired by identities_imap plugin that is no longer supported.
Installation
With Composer (recommended)
composer require gecka/roundcube-ident_switch
bin/updatedb.sh --package=ident_switch --dir=plugins/ident_switch/SQL
The plugin is automatically registered. Enable it by adding 'ident_switch' to $config['plugins'] in your Roundcube config/config.inc.php.
Manual
- Copy or symlink the plugin to
plugins/ident_switchin your Roundcube installation. - Add
'ident_switch'to the$config['plugins']array in your Roundcubeconfig/config.inc.php. - Initialize the database schema:
bin/updatedb.sh --package=ident_switch --dir=plugins/ident_switch/SQL
Configuration
Optionally copy plugins/ident_switch/config.inc.php.dist to plugins/ident_switch/config.inc.php and edit it to preconfigure mail settings per domain.
Where to start
- In settings interface create new identity.
- For all identities except default you will see new section of settings - "Plugin ident_switch" (see screenshot below). Enter data required to connect to remote server. Don't forget to check Enabled check box.
- After you have created at least one identity with active plugin you will see combobox in the top right corner instead of plain text field with account name. It will allows you to switch to another account.
Settings
- Enabled - enables plugin (i.e. account switcing) for this identity.
- Label - text that will be displayed in drop down list for this identity. If left blank email will be used.
- IMAP
- Server host name - host name for imap server. If left blank 'localhost' will be used.
- Port - port on server to connect to. If left blank 143 will be used.
- Secure connection - enabled secure connection (TLS) for both IMAP and SMTP.
- Username - login used for IMAP and SMTP servers.
- Password - password used for IMAP and SMTP servers. It's stored encrypted in database.
- SMTP
- Server host name - host name for imap server. If left blank 'localhost' will be used.
- Port - port on server to connect to. If left blank 587 will be used.
Migrating from the original plugin
If you are upgrading from the original boressoft/ident_switch or another fork:
- Replace the plugin files in
plugins/ident_switch/. - Run the database migration to update the schema:
bin/updatedb.sh --package=ident_switch --dir=plugins/ident_switch/SQL
- If you use
config.inc.php, update it to the new format. The'host'key has been replaced by separate'imap_host'and'smtp_host'keys (the old'host'key still works as fallback):
'domain.tld' => [
'imap_host' => 'ssl://mail.domain.tld:993',
'smtp_host' => 'tls://mail.domain.tld:587',
'user' => 'email',
'readonly' => true,
],
- If installed via Composer, update
composer.jsonto usegecka/roundcube-ident_switchinstead ofboressoft/ident_switch.
Version compatibility
- Versions 1.X (not supported any more) - for Roundcube v1.1
- Versions 2.X (not supported any more) - for Roundcube v1.2
- Versions 3.X (not supported any more) - for Roundcube v1.3
- Versions 4.x - for Roundcube v1.3, 1.4 and 1.5.
- Versions 5.x - for Roundcube v1.6+ (PHP 8.1+)
This is a fork of the original plugin by Boris Gulay, maintained at Gecka-apps/ident_switch.
Contributors
- Boris Gulay - Original developer (2016-2022)
- Christian Landvogt - Special folders support (2019)
- Gergely Papp - Bug fixes (2021)
- Mickael - SMTP compatibility fix (2022)
- Laurent Dinclaux - Gecka - Current maintainer (2026)
Languages
PHP
86%
JavaScript
12.1%
CSS
1.9%

