Bug 55421

Summary: KMail can't read a local Maildir without a copy
Product: [Unmaintained] kmail Reporter: Andrew Stanley-Jones <asj>
Component: maildirAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED WAITINGFORINFO    
Severity: wishlist CC: asanchez, floyd_n_milan, luigi.toscano, nicolas.brisset, piedro.kulman, toad
Priority: NOR    
Version: 1.5   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Andrew Stanley-Jones 2003-03-02 16:56:13 UTC
Version:           1.5 (using KDE KDE 3.1)
Installed from:    Compiled From Sources
OS:          Linux

If you setup KMail to read mail from a local Maildir it copies the mail into it's own Maildir.  Say you get a bunch of mail in ~/mail/INBOX it then copies the messaage out of that maildir into your kmail inbox.

This is inherently broken for the following reasons:

1. You can't use multiple mail readers to read the same mail spool.  Say like you can use mutt, pine, imap, but once you run kmail it nukes the mail dir.

2. Traditional unix mail readers don't care so much how the mail is delivered they just read it out of local mail spools.  KMail should be able to support this without destroying the mail spool.

3. Many programs can syncronize 2 mailboxes.  Since KMail destroys the local maildir it makes it incompatible with them

Work around: serve imap to yourself.  This is slow and dumb.
Comment 1 Ralph Jones 2003-06-04 11:25:06 UTC
I think this is because kmail uses a non-standard maildir format.  I documented
this at http://www.kde-forum.org/viewtopic.php?t=681.

To repeat what I found:
--------------------------
With the latest release of kmail, I created a new folder called "testnested". I
then created a new subfolder called "nested". I copied a mail into each of
these. This is the output of find|grep nested:

./testnested
./testnested/cur
./testnested/cur/1053675298.31081.bqQx:2,S
./testnested/new
./testnested/tmp
./.testnested.index.sorted
./.testnested.index.ids
./.testnested.index
./.testnested.directory
./.testnested.directory/testnested
./.testnested.directory/testnested/cur
./.testnested.directory/testnested/cur/1053675302.31081.J4Hc:2,S
./.testnested.directory/testnested/new
./.testnested.directory/testnested/tmp
./.testnested.directory/.testnested.index.ids
./.testnested.directory/.testnested.index

So it seems that the contents of the subfolders are put into the
.<folder>.directory/<subfolder> directory.

This does not seem to be the same as the format describe in
http://www.courier-mta.org/maildir.html, which states: "Folders are additional
subdirectories in the maildir whose names begin with a period: such as .Drafts
or .Sent." They also describe a flat format for storing sub-sub folders.

Is the site I quoted a recognised standard?
I don't think the kmail format compatible with mutt with regard to subfolders
(maybe mutt can't handle them at all?)
Does procmail write to subfolders in the same format as kmail?

What I would like to do is use a combination of fetchmail, postfix and procmail
as well as kmail to get mail from various accounts and put them in one maildir.
This mail should be readable from kmail and mutt. Shouldn't be that hard.
-------------------
Looking through the bug list and the mailing list, I notice that there appear to
be some quite "vibrant" discussions going on, but none of them seem to have
addressed this particular issue of different maildir formats.  
Comment 2 Ingo Klöcker 2003-06-05 01:25:16 UTC
Subject: Re:  KMail can't read a local Maildir without a copy

On Wednesday 04 June 2003 11:25, Ralph Jones wrote:
> This does not seem to be the same as the format describe in
> http://www.courier-mta.org/maildir.html, which states: "Folders are
> additional subdirectories in the maildir whose names begin with a
> period: such as .Drafts or .Sent." They also describe a flat format
> for storing sub-sub folders.
>
> Is the site I quoted a recognised standard?

I don't think so. It's just the format that the courier MTA uses. AFAIK 
the maildir standard doesn't say anything about how to store 
subfolders.

> I don't think the kmail format compatible with mutt with regard to
> subfolders (maybe mutt can't handle them at all?)
> Does procmail write to subfolders in the same format as kmail?

procmail doesn't know anything about subfolders. You have to point 
procmail to the exact location of the folder (be it stored in mbox or 
maildir format). Please have a look at the documentation of procmail to 
find out how procmail determines whether a folder is in mbox or in 
maildir format.

> What I would like to do is use a combination of fetchmail, postfix
> and procmail as well as kmail to get mail from various accounts and
> put them in one maildir. This mail should be readable from kmail and
> mutt. Shouldn't be that hard.

I'm using fetchmail and procmail to prefilter messages. Messages which 
are most likely spam are directly written to one of my KMail maildir 
folders. All other messages are written to an mbox style file from 
where I fetch those messages with KMail. This way I don't get new mail 
notifications for all the spam that I receive.

Regards,
Ingo

Comment 3 Magnus Holmgren 2006-04-08 14:15:56 UTC
See also bug #91901, but it indeed would be nice if all software that uses maildirs used the same directory structure. The Dovecot IMAP server also uses the format described in http://www.courier-mta.org/maildir.html, for example. The period as the directory separator is a bit arbitrary, though. http://www.courier-mta.org/imap/?README.maildirquota.html says: "If you want to have a client with a hierarchy of folders, emulate it. Pick a hierarchy separator character, say ':'."
Comment 4 Carsten Burghardt 2006-04-22 14:06:20 UTC
*** Bug 91901 has been marked as a duplicate of this bug. ***
Comment 5 Dimitri Maziuk 2007-03-25 19:09:35 UTC
There are 2 separate problems here (fc5, kmail 1.9.6):
 1. When I set up a new "Maildir/" account, kmail moved all messages from my ~/Maildir to ~/Mail/inbox, screwing up courier-imap.
 2. Kmail won't see ~/Maildir/.My-subfolder (which is a Maildir itself). I could not add it as a separate Maildir accont via settings menu either (leading dot?)
Comment 6 Dimitri Maziuk 2007-03-25 19:16:37 UTC
P.S. mutt doesn's show imap subfolders in the list (or didn't last I tried). However, it'll read a subfolder if you point it to it with "-f ~/Maildir/.My-subfolder". Kmail won't read a subfolder at all.
Comment 7 Mrugesh Karnik 2007-03-26 03:56:42 UTC
>  2. Kmail won't see ~/Maildir/.My-subfolder (which is a Maildir itself). I could not add it as a separate Maildir accont via settings menu either (leading dot?) 
 
I don't know about the subfolder part, but leading dot isn't the issue. Kmail read my ~/.maildir/ pretty fine.

Btw, this bug has been open for over 4 years. Does no developer want to address this?
Comment 8 Björn Ruberg 2009-12-16 00:55:44 UTC
*** Bug 43865 has been marked as a duplicate of this bug. ***
Comment 9 Myriam Schweingruber 2012-08-18 08:28:26 UTC
Thank you for your feature request. Kmail1 is currently unmaintained so we are closing all wishes. Please feel free to reopen a feature request for Kmail2 if it has not already been implemented.
Thank you for your understanding.
Comment 10 Luigi Toscano 2012-08-19 01:04:37 UTC
Instead of creating a new feature request, please confirm here if the wishlist is still valid for kmail2.
Comment 11 piedro 2016-04-08 14:07:48 UTC
Since this is very old I do not know if anybody reads this - but I think this is still a major concern: 

Kmail should be able to use and read mail dir created by evolution and vice versa. 

Why is there a standard if kmail doesn't follow it - isn't that exactly what standards are for? 
Also this is one of the most important arguments of the FOSS world against proprietary software with each piece of software following company-owned non-disclosed formats... 

Still on my wishlist, p.