Git Product home page Git Product logo

ident_switch's Introduction

ident_switch

ident_switch plugin for Roundcube

This plugin allows users to switch between different accounts (including remote) in single Roundcube session like this:

Screenshot example

Inspired by identities_imap plugin that is no longer supported.

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

Plugin 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.

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 and 1.4.

Please specify version like "~2.0" in your composer.json file for ident_switch requirement. In this case you will stay inside compatible branch until you manually update your Roundcube installation.

ident_switch's People

Contributors

boresxp avatar dougluce avatar lvogt avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

lota obertoisobs

ident_switch's Issues

Folder tree uses the wront delimiter

Hi,
I've a problem with resetting the delimiter after switching between accounts and I'm not sure if this is a plugin issue or more a roundcube core issue - see here.

Has someone an idea?

plugin ident_switch make composer update fail

On "composer update", it will fail because of :
In ident_switch.php line 47: Undefined array key "drafts_mbox_default_iswitch"

I replaced the if (!$_SESSION[$key]) on line 47 by if (!array_key_exists($key,$_SESSION))

and it work perfectly :)

Sending Emails

Hey Team,

Does this plugin allow one to send emails from another account that isn't the default? I have three inboxes.
Work - Personal (default)
Work - Accounts
Work - Copmmissions

I'm able to send and receive emails from the personnel. However, I can only receive emails on the other two accounts and not send them. Is this a limitation of roundcube or a setting I've missed with this plugin?

Errors

image

When I enable the plugin for identity and save page gets refreshed and imap, smtp details are not saved, getting this error

Is this repo actively maintained?

Hi @dougluce are you actively updating this repo? It seems the roundcube plugin repo is out of date and there is some problem with the original bitbucket repo. I'm looking for an uptodate version that I can perhaps contribute to.

SQL bug

Good evening.

Im trying to install ident switch for roundcube but i get errors.

https://i.imgur.com/h9W9Zvu.png

error while importing: https://i.imgur.com/WFbcd7c.png

The code that must be imported:

CREATE TABLE IF NOT EXISTS ident_switch
(
id
int(10) UNSIGNED
NOT NULL
AUTO_INCREMENT,
user_id
int(10) UNSIGNED
NOT NULL,
iid
int(10) UNSIGNED
NOT NULL,
username
varchar(64),
password
varchar(64),
imap_host
varchar(64),
imap_port
int
CHECK(imap_port > 0 AND imap_port <= 65535),
imap_delimiter
char(1),
label
varchar(32),
flags
int
NOT NULL
DEFAULT 0,
smtp_host
varchar(64),
smtp_port
int
CHECK(smtp_port > 0 AND smtp_port <= 65535),
UNIQUE KEY user_id_label (user_id, label),
CONSTRAINT fk_user_id FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fk_identity_id FOREIGN KEY (iid) REFERENCES identities(identity_id) ON DELETE CASCADE ON UPDATE CASCADE,
PRIMARY KEY(id),
INDEX IX_ident_switch_user_id (user_id),
INDEX IX_ident_switch_iid (iid)
);
can someone advise/help me ? thanks.

OAuth2 plus additional accounts not working

I use OAuth2 for entering my mailbox with Roundcube. I wanted to add an additional account via this plugin to switch between accounts in one Roundcube session.

When I try switching to the second account, login fails with this error:

IMAP Error: Login failed for <username> against tls://mail.example.com from <IP address>. AUTHENTICATE XOAUTH2: A0002 NO no mechanism available in /srv/data/www/html/roundcube/program/lib/Roundcube/rcube_imap.php

Obviously, Roundcube tries to connect to this server via OAuth2, too, which has to fail. The entered password for the second account is ignored.

on_smtp_connect function is_integer bug?

Hi, on file ident_switch.php, function on_smtp_connect, row 155 there is "if (!is_integer($iid) || $iid == -1)", but even if the iid passed is a number, this "if" returns as if it was not an integer. maybe you should use is_numeric?
Or maybe i'm doing something wrong?
I created an identity, the modified this condition adding a write_log for the $iid variable, and it return a number.
Sorry for my english!

Folder Refresh and Separator

Hi,

I tried this plugin because several coworkers asked for this function.
It works most of the time and thanks for that great work !

I encounter one problem by one user.
This user has 1000+ imap folders with 3 levels of subfolders.
His imap server as "/" as folder separator

He tries to connect a second IMAP mailbox from another server where the folder separator is "."

We encounter two bugs :

  • when he switches identity, the folder list doesn't refresh. It always keeps the list from the default mailbox. It only refreshes if he goes to PARAMETERS -> FOLDERS

  • when he switches back to the main identity, it doesn't refresh aswell. If he goes to PARAMETERS -> FOLDER, it refreshes BUT all folder are listed with any hierarchy. The "/" delimiters obviously isn't taken into account anymore. I think that when the main account has "/" delimiter (which is rare !), the plugin doesn't switch back to "/" when the user select its default account.

ROUNDCUBE 1.4.8 with ident_switch 4.4.1

Proper "Sent Folder"

Hello

I'm testing your plugin in the new roundcube version 1.4.11. Everything works fine but would be really helpful if sent email is going to be stored in the "selected identity" sent folder. Right now it is stored in main identity sent folder.

Use main account password identity (if ident_switch.password is NULL)

Thanks Doug Luce for this great plugin.

I am trying to use a custom installation of Roundcube to create a Mail Archive where users can switch in day-1, day-2, day-3 etc.

All works fine, but seems the "password" of identity should be exist in field "password" table "ident_switch". Unlike "imap_host" field that if NULL use default imap host...

If possible for this plugin use "main account password" if "ident_switch.password=NULL"?

TIA
Alessandro

Design issue by using elastic skin

Hi,
we've some trouble with the design of the elastic skin and the master branch of your plugin.
We're using Roundcube 1.5.2 [GIT 20220427.1200].

The switch is displayed like this:
Selection_1110

Are there any known issues?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.