On Jan 21, 2009, at 6:53 PM, Molin MEN wrote:

> But i'm still not sure about IMAP storage. Could you explain me in  
> detail about that?

I use Fedora, some of the paths might be different on your system.
You might want to look at this HOW-TO at The Linux Documentation  
Project :

<http://www.tldp.org/HOWTO/Mail-Administrator-HOWTO.html>

I'll use angle brackets to designate names that are variable.
I am simplifying here to keep things brief.
If I get anything seriously wrong, please anyone else jump in and  
correct me.

When a message comes into a mail server ( or Mail Transport Agent -  
MTA ) if the message is for an account on that computer, it hands the  
message off to a Local Delivery Agent ( LDA ) such as procmail.  
procmail removes the envelope and puts the message into the proper  
user's inbox, which is normally the file /var/spool/mail/<username>.

If a user connects via IMAP, messages are shown in mailboxes. The  
inbox resides in /var/spool/mail/<username> , however any other  
mailboxes are stored in the user's home directory, usually /home/ 
<username>/ . Many administrators prefer to have mailboxes in a sub- 
directory of user home directories, and some command-line Mail User  
Agents ( MUA ) _need_ a sub-directory. The most common sub-directory  
is "mail" so the path where non-inbox messages are stored are in / 
home/<username>/mail/<mailboxname>

There are two common formats that messages are stored - mbox and  
maildir.

mbox is a single file that contains many messages.
maildir is a directory that contains a file for each message.

That should get you started in the right direction.

> I just wonder whether it is stored in IMAP storage as what u said

RoundCube connects to an IMAP server just as Thunderbird ( a MUA ) does.
Messages are stored on the IMAP server.

> What do you mean by caching of message?

The messages always reside on the IMAP server.
Thunderbird, for example, makes local copies ( a cache ) of what is  
on the IMAP server to improve performance.
RoundCube can be configured to create a cache of IMAP message too.

So, as described in the config file comments -

> // this is recommended if the IMAP server does
> // not run on the same machine

It _may_ increase performance for the database to make a "local copy"  
of the IMAP messages depending on your computing environment.
Most of the time it won't, but if the database server runs on the  
same computer as the webserver,
and the IMAP server is on a different computer, the database caching  
might help.
Testing is the only way to determine if having RoundCube use a  
database cache of IMAP messages helps.

> What do you mean by serialize into a big pile here?

I mentioned mbox and maildir formats above.
Since it takes a bunch of PHP code ( and processing time ) to parse  
through the IMAP messages in order to display them in the web page,  
what is cached in the database is the parsed PHP-specific data from  
the messages, serialized into a form that the database can store. To  
a human, that serialized data doesn't look much like a message  
anymore, it is in a format meant to be understandable by PHP. The  
message data would be more understandable to a human when viewed on  
the IMAP server rather than the pre-parsed, serialized cached data.

One last note.
Messages that have HTML parts or attachments are difficult to read  
via a text editor or text pager directly as they are stored on the  
IMAP server, particularly if the messages are stored in mbox format  
and the mailbox is large.

HTH


-- 
Charles Dostale
System Admin - Silver Oaks Communications
http://www.silveroaks.com/
824 17th Street, Moline  IL  61265

_______________________________________________
List info: http://lists.roundcube.net/users/

Reply via email to