Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Manage multiple IMAP accounts from 1 interface #4972

Open
rcubetrac opened this issue Oct 13, 2006 · 121 comments
Open

Manage multiple IMAP accounts from 1 interface #4972

rcubetrac opened this issue Oct 13, 2006 · 121 comments

Comments

@rcubetrac
Copy link

Reported by sanchez on 13 Oct 2006 12:08 UTC as Trac ticket #1484075

I'm using mozilla thunderbird for IMAP access to about 5 email account and I like it to keep it separate because of transparency, different nature of emails etc. anyway have lot reasons not to resend it to one general mailbox. Therefore it would be perfect to have lightweight online IMAP client to check for mails on all my mailboxes simultaneously..

I think that implementing this feature would require a little redesign of core concept, but would bring excelent functionality for people like me..

Keywords: multi-account mailboxes simultaneously
Migrated-From: http://trac.roundcube.net/ticket/1484075

@rcubetrac
Copy link
Author

Milestone changed by seansan on 16 Feb 2008 21:02 UTC

=> later

@rcubetrac
Copy link
Author

Summary changed by seansan on 16 Feb 2008 21:02 UTC

it would be great if RC could manage more email boxes at the time

Manage multiple IMAP accounts from 1 interface

@rcubetrac
Copy link
Author

Comment by axel on 12 Mar 2009 10:36 UTC

I totally agree with sanchez. That would be really awesome. However, the best would be according to me the Apple Mail model, not the Thunderbird model.
Any chance to see that feature request be planned?

@rcubetrac
Copy link
Author

Comment by genkiz on 30 Sep 2009 21:23 UTC

Would be really great to have an option to switch between imap accounts.

@rcubetrac
Copy link
Author

Comment by Nidoh on 15 Mar 2010 13:13 UTC

This would be an amazing feature!!

Please please please do this, I would if i could!

Or could someone update on the progress, this has been kicking around for at least 4years I have been using RC

Thanks

@rcubetrac
Copy link
Author

Comment by genkiz on 15 Mar 2010 14:55 UTC

this function is working fine in the latest version
I am using this:

@rcubetrac
Copy link
Author

Comment by trisk on 24 Apr 2010 07:52 UTC

Triaging this bug. Priority should be low.

@rcubetrac
Copy link
Author

Owner changed by trisk on 24 Apr 2010 07:52 UTC

=> none

@rcubetrac
Copy link
Author

Comment by neutrino15 on 15 Mar 2011 21:07 UTC

I would like to see this implemented as well.

@rcubetrac
Copy link
Author

Comment by Dodge on 3 Aug 2012 09:17 UTC

Are there any News?

I also would love to see this.

@rcubetrac
Copy link
Author

Comment by tarant on 20 Aug 2012 12:08 UTC

Same question here. Without that functionality roundcube is for me useless.

@rcubetrac
Copy link
Author

Comment by ericf on 12 Sep 2012 21:53 UTC

Modifications required to make a single instance of Roundcube work with multiple accounts might be a major undertaking and I'm wondering if similar functionality might be achieved by using a separate instance of the program for each account. I'm thinking of a shell program with a tabbed interface that records account information and launches Roundcube instances, each in it's out tab, but all in the same window. Might be a bit piggy, but easier to pull off.

Just a thought.

@rcubetrac
Copy link
Author

Comment by ericf on 12 Sep 2012 23:14 UTC

Afterthought re the idea of multiple instances in tabs:

The uzbl-tabbed wrapper for the minimal uzbl web browser might provide some ideas about how to do this.

@rcubetrac
Copy link
Author

Comment by @alecpl on 21 Sep 2012 19:03 UTC

#1488716 marked as duplicate of this request.

@rcubetrac
Copy link
Author

Comment by Jehan on 8 Nov 2012 03:23 UTC

Hi,

I would really appreciate such a feature too, though I completely disagree with the solution of having each email account in a separate browser tab (unless you are saying tabs inside the Roundcube UI, but considering you write about program instance, I guess you mean several Roundcube instances, each inside a different browser tab).

This is also the solution that for instance Gmail chose for multiple accounts. But if you tend to leave your email tabs all the time open (with the app tab feature of Firefox, and I think other browser have similar features), you end up with several tabs opened constantly and that's really annoying. So I'd really prefer to have a single browser tab opened and the separation clearly done inside Roundcube UI.

In any case, I'd like to "vote" for this killer feature. :-)

@rcubetrac
Copy link
Author

Comment by ericf on 8 Nov 2012 14:55 UTC

i proposed the tabbed multiple instances with tabs approach. further thoughts:

-- yes, i meant tabs within the roundcube ui, not separate browser windows.

-- cant comment on gmail web client as i haven't tried it with multiple accounts nor studied it. the example i had in mind was uzbl-tabbed, which is inherently different as it's a local browser rather than a web application, but it does illustrate a shell around several instances of one program.

-- i was thinking of this as intermediate solution that might be less work to implement than something more integrated. longer term i might prefer something more integrated and conventional with account and folder trees on the left as in thunderbird and others.

-- hadn't really thought about separate instances in separate browser tabs, but it might be a useful idea. my main point is that the functionality is the key thing and it would be nice to get something going. if it is provided i'm willing to try it no matter how it's implemented. i would be willing to temporarily trade off UI elegance and resource efficiency to get it.

(however, some of the resource utilization is on my provider's server and they may not share that opinion.)

@rcubetrac
Copy link
Author

Comment by ericf on 8 Nov 2012 15:09 UTC

BTW: noticed terms awesome and amazing used above. if those were meant express enthusiasm i agree.

however, it's actually a pretty mundane feature that most popular desktop clients provide. it may be less common among web based clients, but if the goal is to have a web client that is as useable as a desktop client this an important feature. users with multiple mail accounts are common these days.

key difference between a web based client and a desktop one is that the web client is ofter installed and operated but the email provider rather than the user and it might seem a bit odd to ask a mail provider service provider to in effect provide a UI for a competitor's service, but that seems to be just what some of the big providers are doing.

@rcubetrac
Copy link
Author

Comment by Jehan on 9 Nov 2012 04:25 UTC

ericf >

  1. not sure which is the best UI. I kind of like the tab idea (inside the same browser tab, that is) because it makes a real clear separation. But the common Thunderbird-like UI (all visible in the same page through the folder tree) is OK too, I guess. We may even experiment new kind of multi-account integration UI if anyone has ideas. I am open as well. :-)

  2. As for Gmail, basically their approach is simply that you can now have several browser tabs (in the same browser, hence the same session), each for its own Gmail account. The problem is that if you have several accounts, and want to keep them all opened (keeping them opened allowing to know when a new mail comes in, because the tab goes blue), well that's as many additional tab per account. I really dislike this choice.

  3. I have no time right now (a lot of other development on the track), but if none develops it, I may step-in. Furthermore that does not look that much work. But that probably won't be before months (unless I get bored once and wants to go for a change of air).

  4. I have been thinking of a new feature linked to this multi-account.
    Right now, I guess most people's installation are just targeted to one (or a list of) domain. But with multi-account, a very cool feature would be to be domain-free for secondary accounts only.
    For instance let's say I have a roundcube allowing only users of example.net to log in. But then if jehan@example.net was to log-in, he could also log any secondary accounts he wish (gmail.com, etc.). In other words, you don't allow any people on the web to use your UI, but for all your own users, you allow them to manage any accounts they have, as in a common desktop program.
    Of course this would be optional, and customizable in config files. But I would find it extremely handy (limiting all the multi-accounts to your own domain is... well, limited).

What do you think of this idea?

@rcubetrac
Copy link
Author

Comment by ericf on 14 Nov 2012 17:55 UTC

it sounds like something worth implementing, but i'd make it a configuration option. whether it's helpful or not is likely to depend on who is deploying the software and what their goals are.

@rcubetrac
Copy link
Author

Comment by ericf on 14 Nov 2012 18:09 UTC

that may have been a bit understated. i suspect many administrators would consider it a necessity.

@rcubetrac
Copy link
Author

Comment by Jehan on 15 Nov 2012 03:08 UTC

You are right, in my opinion. That should be a configuration option, and I don't even think that should be the default. Some people may not like having their server used as a mail client for other domain than theirs. All the big webmails (Gmail, Yahoo, and whatever) for instance use it only for their own domain.

On the other hand, there are indeed a lot of people who would think this would be a must-have.

@rcubetrac
Copy link
Author

Comment by reeceatlas92 on 9 Feb 2013 06:05 UTC

Life is going browser based, and I would like to move ALL of my emails browser based in RoundCube. RoundCube is the only online client I have found to do what I want to it to, SIMPLY. The only thing it can't do is manage all my emails in one hub like Apple Mail, Thunderbird, or Outlook.

Jehan said:

"Some people may not like having their server used as a mail client for other
domain than theirs."

Having everything hosted on one server ENCOURAGES the continued use of that server, and raises customer life-expectancy.

I want this feature very much. Please, consider it in the next iteration.

@rcubetrac
Copy link
Author

Comment by daggett on 24 Jun 2013 12:56 UTC

Maybe instead of "Manage multiple IMAP accounts from 1 interface" we could enable "Open multiple accounts VIA multiple browser tabs" :

  • users don't have to enter any parameter nor setup anything regarding IMAP or SMTP (simplicity) : they just have to open a new tab in their browser to open other accounts simultaneously,
  • don't allow users to fiddle with IMAP/SMTP settings.

I openend a new feature request for this, as it is not the same functionality :
http://trac.roundcube.net/ticket/1489201

regards,

Daggett

@rcubetrac
Copy link
Author

Comment by smmtra on 3 Sep 2014 12:14 UTC

Hello,
Is there any news about multiple imap servers in roundcube?

Cheers
Marcin

@rcubetrac
Copy link
Author

Comment by junkpad92 on 11 Jan 2015 13:38 UTC

Hello,

any updates for this feature request?

@rcubetrac
Copy link
Author

Comment by web4d on 17 Mar 2015 02:02 UTC

Hi, I would also love to see this feature, imho basically the last missing piece to make this the #1 choice webmail. Still any plans to add native support for multi-account setups in a future release? Thanks for the great work!

@rcubetrac
Copy link
Author

Severity changed by web4d on 23 Mar 2015 01:11 UTC

minor => normal

@rcubetrac
Copy link
Author

Comment by markusd112 on 5 Jan 2016 06:31 UTC

I would like to support this feature request. I have used Zimbra (http://www.zimbra.com) webmail frontend for several years and like the way they have implemented this multi IMAP mailbox feature in the GUI: in the preferences you can configure all of your IMAP accounts as "external mail accounts". They are displayed in the email tab of zimbra on the left navigation pane as you know it e.g. in thunderbird or any other native mail client. The advantage: you only have to login one time to zimbra and you have instantly access to all your mail accounts.
It would be great, if roundcube will be enabled to handle multiple external IMAP accounts in the same way.

@rcubetrac
Copy link
Author

Comment by markusd112 on 5 Jan 2016 06:37 UTC

Another product with such a functionality: https://phlymail.com

@Master0ne
Copy link

Outlook

Yeah, not gonna happen! 😒

I'm currently looking into Cypht because nothing else seems to come to mind at all.

@rodrigoaguilera
Copy link

Nexcloud mail is the alternative that I am using right now

@Master0ne
Copy link

Nexcloud mail is the alternative that I am using right now

I have that in use as well, but it is very inflexible due to missing multiple identities per email account and is still in an early stage.

One of the problems I am facing connected to multiple identities per email account is that I always need two different signatures per email address (in two different languages).

@zaphbbrox
Copy link

Normally I wouldn't make advertisements for similar projects, but since this issue hasn't been updated for some time: Checkout Rainloop for multiple account support.
Using it for some time and I'm very pleased with this webmail solution.

Taken from their website:

FEATURES
Modern user interface.
Complete support of IMAP and SMTP protocols including SSL and STARTTLS.
Sieve scripts (Filters and vacation message).
Minimalistic resources requirements.
Direct access to mail server is used (mails are not stored locally on web server).
Allows for adding multiple accounts to primary one, simultaneous access to different accounts in different browser tabs is supported. Additional identities.
Administrative panel for configuring main options.
Really simple installation and update.
Integration with Facebook, Google, Twitter and Dropbox.
Managing folders list.
Simple look'n'feel customization.
Configurable multi-level caching system.
Extending functionality with plugins installed through admin panel.
Perfect rendering of complex HTML mails.
Drag'n'drop for mails and attachments.
Keyboard shortcuts support.
Autocompletion of e-mail addresses.

@Master0ne
Copy link

Normally I wouldn't make advertisements for similar projects, but since this issue hasn't been updated for some time: Checkout Rainloop for multiple account support. Using it for some time and I'm very pleased with this webmail solution.

I have already looked into Rainloop and had it running inside Nextcloud as a module, but it's the same problem, you can switch between accounts and you can have multiple accounts open each in a separate browser tab, but you can not have multiple accounts all at once inside a single browser tab and you can not move messages or folders between accounts, which is what pretty much every desktop application (like Gnome Evolution, KDE KMail, Mozilla Thunderbird or Claws Mail) can do.

I'm really totally lost with this, my best best would have been Cypht, but after days of trying to install it, I'm about to give up because I just can't get it to work (stuck at the login screen and doesn't go further although everything is setup and configured properly).

@florian03-1
Copy link

I wanted to ask if this feature is planned to be integrated into roundcube in the near future?

@gdh123
Copy link

gdh123 commented Jul 24, 2020

it is now close to 14 years and nothing in topic regards has happened

2006 in a nutshell, just to stipulate how much time has passed.
Apple has not released 1st iPhone
windows 98 support ended, XP released, vista not invented
amd athlon 64 (2core) was released
1st feature request for multiple imap accounts for roundcube

@roundcube devs I am willing to donate something to a crowd founding campaign to get this feature. just do something.

@omocinteractive
Copy link

@gdh123 : Do you know the ident-switch Plugin? https://bitbucket.org/BoresExpress/ident_switch/src
I tried the plugin fews years ago ... i don't know if it works in the new version. It's not the best solution, but it's a way to work with multiple accounts without login/logoff.

@TonyGravagno
Copy link

👍 on this request. I've added Roundcube into a new installation for a number of domains that I run. It's linked with a plugin to ISPConfig, where all domains and mailboxes are defined. (There seemed to be some confusion about ISPConfig in this thread.) This is the first feature I looked for in Roundcube.

To be specific: I am admin@ for many domains. I'd like to be able to login to all of them simultaneously and switch between them. These are not identities. Each admin@ has identities for its own domain, like support@, postmaster@, etc. Productive time is lost logging out of one account to log into another. Yes, this can be done with Outlook, and in Android with https://github.com/M66B/FairEmail and https://github.com/k9mail/k-9 .

I would be happy with the ability to open multiple browser tabs, login to a different account in each, and then tab between them. I don't need a single browser tab with multi-account selection. I'd even be fine doing this with private browser tabs if that isolated them. Multiple browser windows would not be ideal.

Hell, now that I think about it, I could write a .NET Windows app with tabs and a separate browser instance in each. I'm not positive about cookie isolation. Would that be the way to go until this can be coded into Roundcube itself?

Thanks for keeping this thread alive - NO, please do not close it!

@jlsjonas
Copy link

jlsjonas commented Dec 2, 2020

@TonyGravagno for your use-case, you could use Firefox multi-account containers, I'm personally using it for private vs business account separation.

I still believe this feature would be highly valuable to Roundcube itself though!

@TonyGravagno
Copy link

...you could use Firefox multi-account containers, I'm personally using it for private vs business account separation.

@jlsjonas nailed it. Containers in Firefox can be enabled with the referenced addon and others. Right now I have three tabs open with Roundcube logged-in to different accounts. Yes, this is a solution for my use-case. YMMV
This resulted in new enhancement suggestion #7762.

@K4sum1
Copy link

K4sum1 commented Jun 3, 2021

I would like to have a feature like this in the style of Interlink Mail, with each account listed on the side.

@loxK
Copy link

loxK commented Apr 5, 2022

Much needed.

@zlice
Copy link

zlice commented Jun 13, 2022

fyi - this gets half way there https://github.com/texxasrulez/additional_imap

tempted to take a look...every email client is lacking something serious to make it close to good. memory usage, accounts, ui, search. man that 2006 post got me

@loxK
Copy link

loxK commented Jun 13, 2022

fyi - this gets half way there https://github.com/texxasrulez/additional_imap

Ident switch plugin already works very well with the latest stable release of Roundcube.

@mcnesium
Copy link
Contributor

@loxK can you show a minimum example of how you got ident_switch to work? For now I could not get it installed. I ran into a strange "Failed to connect to database" error, so I filed an issue about it but did not get any feedback so far. The plugin seems to be sort of abandoned anyway:

Versions 4.x - for Roundcube v1.3 and 1.4.

@loxK
Copy link

loxK commented Jul 31, 2022

@mcnesium you have to import the SQL dump from the SQL folder.

@mcnesium
Copy link
Contributor

@ioxk given the following Dockerfile, at what point should I do that and how?

FROM roundcube/roundcubemail:latest

# copy composer binary
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer

# configure composer
RUN mv /usr/src/roundcubemail/composer.json-dist /usr/src/roundcubemail/composer.json

# install ident_switch
RUN \
    composer \
        --working-dir=/usr/src/roundcubemail \
        require \
            boressoft/ident_switch \
    ;

@loxK
Copy link

loxK commented Aug 21, 2022

@ioxk given the following Dockerfile, at what point should I do that and how?

See here: https://mariadb.com/kb/en/restoring-data-from-dump-files/

@mcnesium
Copy link
Contributor

@loxK Thank you for pasting the link to the MariaDB knowledge base. Obviously I have not made clear why I am struggeling with the installation of that plugin. Please let me try to rephrase:

Is it really the intended and therefore correct way to get this runnig? Do I really need to first download the SQL init file and run it against my Roundcube database before even installing it? Will that even work?

When using Composer to install software, I assume that I need to run the command composer require <toolidentifier> and the installation process starts by downloading the project files from its source. If anything ahead of this is necessary, then putting specific config in place. There is no documentation at all with this plugin about having to run initial SQL statements outside and prior to the actuall installation process. That is why I was asking for how exactly you did get to install it.

Note to RC maintainers: sorry for the noise, but you might have noticed that there seems to be a bit of uncertainty about how to handle multiple identities. Please also see here.

@mcnesium
Copy link
Contributor

mcnesium commented Nov 15, 2022

Anyone else who can give a hint on how to install the plugin ident_switch properly as in in a reproducible environment, e.g. a Dockerfile?

@elchusco
Copy link

@mcnesium hi, I hit the same snag with RC running in docker. I am using postgres backend and I tried to install ident_switch plugin using composer and got a :

Running database initialization script for ident_switch                                                                                                                                      
ERROR: SQLSTATE[HY000] [2002] No such file or directory                           
ERROR: Failed to connect to database                                                                                                                                                         

I just got it running by manually executing SQL script : SQL/postgres.initial.sql on my DB instance so ident_switch table is created.

Then I installed plugin by simply git cloning it into plugins directory and finally configuring config.inc.php in plugin folder.

Though, I agree it is not really satisfying as it is supposed to be installed with composer, but it looks broken. I suppose that if composer installation process is trying to connect database to run "database initialization script" you should not run SQL script yourself.

@elchusco
Copy link

Does anyone know a way to have unified mailboxes view as in thunderbird in Roundcube? I couldn't find any plugin able to do this.

Unified folders feature make all configured accounts folders unified (inbox, sent, drafts, junk, archives). You'll then find a single inbox folder with all account inboxes mails merged in it.

It would look like that :

Inbox
 \__ address1@domain.com
 \__ address2@domain.tld
 \__ address3@domain.net
Sent
 \__ address1@domain.com
 \__ address2@domain.tld
 \__ address3@domain.net
...

In Thunderbird, you can click on Inbox to see a merged view of all incoming mails, but still check a specific inbox.

Thanks for recommendation.

@UltraBlackLinux
Copy link

UltraBlackLinux commented Dec 5, 2023

I've been using ident_switch for the past few months, but there's one problem that really annoys me: Desktop notifications only work for the main account.

I would just report this to the developer, but I've found a few different repos that all seem abandoned. It's a miracle that the plugin still works at all

The one on bitbucket seems the most active, but atlassian's crappy login system does not allow me to create an account, with is unfortunate...

@artur002
Copy link

artur002 commented Feb 24, 2024

If only I understood where it was... I would have changed that myself. It's hard for me to buy time to study the structure carefully. But I see the solution as follows...

In cookies:
roundcube_sessid_.$login = rcubesid
roundcube_sessauth_.$login = rcubeauth
add the "roundcube_active = $login" variable

//========== the final cookie option: =================
roundcube_sessid_.$login = rcubesid
roundcube_sessauth_.$login = rcubeauth
roundcube_active = $login
//===========================================

In the browser:
When re-logging in (standard), priority is given to roundcube_active (based on the first authorization => the first login to the system)

In session verification:
Get cookies ->
-> Get roundcube_active from cookies => $login ->
-> (standart) check roundcube_sessid_.$login and roundcube_sessauth_.$login ->
-> standard session checks

to create\switch to another account:
include in the request GET -> /?_task=mail&_mbox=INBOX another parameter "&active=$login"
where, for example, "&active=none" will mean the login page, and when logging in, if there is a parameter ['active'] == 'none'
to cause a transition to the page */?active=$login&_task=mail&_mbox=INBOX

//============= The final version of the check ==============
//I don't understand the API and the structure of the code of this project, but the solution is not that difficult.
//I'm using a generalized version and just trying to get the point across.

//...
const NEWTAB = "none";
//...

//It is assumed that $COOKIE['roundcube_active'] is a mandatory cookie variable
// !!!If there are checks for variables somewhere, then first check for existence there.


if (!isset($_GET['active'])){
	$active = $COOKIE['roundcube_active'];
} else {
        if($_GET['active'] == '' /* or any other invalid value, for example a filter from the original config*/){
		$active = $COOKIE['roundcube_active'];
	} else {
		$active = $_GET['active'];
	}
}

//...
//...
//...*where is the session verification*...

if ($active == self:NEWTAB){
        //*skip authorization check*
	//*issue an entry window*
	//*end*
}

//...
//...
.//..*where authorization was successful and rc received $login and created a cookie*

if(isset($_GET['active'])){
	if($_GET['active'] == self:NEWTAB){
		header("Location: http(s)://host.com/?active=$login&_task=mail&_mbox=INBOX");
	}
}


//...
//...
//...*where the existing checks are for 'roundcube_sessid' or 'roundcube_sessauth'...

if (... isset($COOKIE["roundcube_sessid_".$active])){
//*standard checks*
}
//=== OR ===
if (... isset($COOKIE["roundcube_sessauth_".$active])){
//*standard checks*
}

//============= ========================= ==============

And add a button in the interface :
<a href="host.my/?active=none" target='_blank'>New session</a>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests