Comment #2 on issue 1992 by cketti: Add support for more than one IMAP
namespace
http://code.google.com/p/k9mail/issues/detail?id=1992
As a work-around you should be able to set up an account per namespace (as
we allow to manually select which namespace to use).
this will not work here as those folders/namespaces have no accounts
assigned to them, but looking forward for this feature.
will be monitoring updates feed :)
I agree that support for more than 1 namespace would be useful, even if, as
a first pass, subscriptions were ignored and all folders were listed.
There are some problems with the work-around mentioned in comment 2:
1) If your shared namespace is "" (as shown in comment 1), then there is
no way in K-9 mail to manually select that namespace, because K-9
interprets an empty IMAP path prefix setting as "(Automatic using NAMESPACE
if available)", which means that it gets automatically translated to the
personal namespace. There is no way to disable this automatic translation.
2) Creating separate accounts in K-9 for accessing separate namespaces is
problematic because there is no way to copy/move messages between the
namespaces. In other words, I can't move a message from my inbox (in the
personal namespace) to some folder in the shared namespace because the
folders are accessed by different accounts.
If nothing else, having an option for turn off the "Automatic using
NAMESPACE if available" feature might be useful. That would permit the use
of a blank ("") prefix, which would then give access to all IMAP folders in
all namespaces to which the user has been granted access. That seems to be
the behavior of the native android email app.
But still, this will be useless if it cannot try to list all folders or
there is no manual folder addition
@shadow.xiii: K-9 Mail has the ability to list all folders (currently
limited to the selected namespace): In the folder list press the menu
button, select "Folders" then "Display all folders". Eventually you have to
select "Refresh folders" first. See also
http://code.google.com/p/k9mail/wiki/WorkingWithClasses
so what we only need is to have empty ("") namespace to make it work (not
to use automatic one).
That's good and should be easy to implement.
any progress on it folks?
Issue 2330 has been merged into this issue.
6 months waiting here for this feature and still no luck ?
I'm also unable to access cyrus imap shared folders because of the
inability to use an empty namespace or to detect that there are multiple
namespaces available. I have tried to put an space, a dot or a slash in the
namespace setting in order to force it to show the alternate namespaces,
but I haven't been able to see other than the personal one.
Have the same problem. It seems, that the foreach loop, which should take
care of the namespace don't work as it should. Don't know whats the reason
for the namespace loop is, maybe speeding up or save memory, but for the
folder problem it could be the best to delete this loop and just use an
empty namespace of "".
Or at least allow unescaped \ for IMAP prefix. This works on "my" IMAP
server:
. LIST "" "\*"
But when I enter "\" (no quotes) in K9mail IMAP Prefix box, it doesn't. I
can only guess it gets escaped to \\ or something. Can attach log file on
monday if it will help.
https://github.com/k9mail/k-9/wiki/Implementation-of-missing-IMAP-features-and-extensions
...looks really promising
well, several month later - nothing done ?
for now - no ay to use my global folders: "/ARCHIV"
i tried several things...
""
''
"*"
'*'
"/"
"/*"
"\"
"\*"
nothing working :(
very sad, i mean this should be very easy to cahnge in code - or ?
isn't it ?
i mean, therefore it would only need in code, that a single "/" would
making folderlist from "", then it would be working fine.
because if i make a public shared folder "1" and would add there my folder,
then also set the namespace to "1" then it is working fine.
so, it only needs to handle to start list command on "" (/).
maybe easy possible to recognize if there is only a "/", thens tart list
from there.
(and not always from inbox/...)
or is such trick implemented ?
Issue 3672 has been merged into this issue.
i tested now again ...
and i saw, if i enter to namespace \ or *, then the list cmd wil be working
(without any change in code)
so, it seems to be not so easy to handle that.
so, the problem must be after list cmd or the response from LIST will not
covered correct, if the namespace is * or \ ...
hmm, i think, that we will need here a real k9-developer ...
if there are any other devels, which want to look into ..
cketti told me, that it is in ImapStore.java -> search for namespace and
getCombinedPrefix
i can see, that the code is written to handle the namespace prefix: "if
null, then ..."
so, i think, the code must be rewritten, so that it is also possible to use
a "/" or a "*" and that this means, that it must use then for prefix ""
(empty), otherwise he response of the LIST command can not handled
correctly ..
(because on line: 535.. for (ImapResponse response : responses) {
there is the response ...for/while ..
and on line: 571 ...
if (prefixLength > 0) {
// Strip prefix from the folder name
if (folder.length() >= prefixLength) {
folder = folder.substring(prefixLength);
}
if
(!decodedFolderName.equalsIgnoreCase(getCombinedPrefix() + folder)) {
includeFolder = false;
}
//so, here it will not work any more if the prefix is set to * in settings.
i will try to find a developer, who have installed the whole android
compile stuff, maybe anyone can try to fix this on this position or to add
more debug informations, that we can find out, why the folders are there
not returned as they are ...
see: http://pastebin.com/ncLsJCPr
maybe someone can compile it with this extra
ok, i made a dirty hack, but it is working fine.
if wanted i will upload on my server a compiled version - if somebody wants
to test - let me know..
file: ImapStore.java - line 570
int prefixLength = getCombinedPrefix().length();
if (prefixLength > 0) {
// Strip prefix from the folder name
+ // START - special case for * (means all
namespace) - maybe dirty hack from ca...@gmx.at (camel)
+ if (mPathPrefix.equals("*")) {
+ prefixLength = 0;
+ }
+ // END - special case for * (means all namespace) -
maybe dirty hack from ca...@gmx.at (camel)
if (folder.length() >= prefixLength) {
folder = folder.substring(prefixLength);
}
+ // START - special case for * (means all
namespace) - maybe dirty hack from ca...@gmx.at (camel)
+ if (mPathPrefix.equals("*")) {
+ if
(!decodedFolderName.equalsIgnoreCase(folder)) {
+ includeFolder = false;
+ }
+ } else
+ // END - special case for * (means all namespace)
- maybe dirty hack from ca...@gmx.at (camel)
if
(!decodedFolderName.equalsIgnoreCase(getCombinedPrefix() + folder)) {
so, this version needs maybe to add to the namespace hint text, that * can
be used for public folders, then user will get the whole structure ..
i solved it now, by doing only few changes, and recompiled ...if someone
wants to test - please contact me on ca...@gmx.at
i uploaded the file to: xda-developers
http://forum.xda-developers.com/showthread.php?p=19838895#post19838895
Comment #27 on issue 1992 by cke...@gmail.com: Add support for more than
one IMAP namespace
http://code.google.com/p/k9mail/issues/detail?id=1992
The ability to use the empty path prefix was added to master. Should be
included in K-9 Mail version 4.103 once released.