[imp] Deleted messages not moved to trash from client
Ernest John Messersmith III
ejm at ejm3.net
Thu Apr 9 21:16:16 UTC 2009
Thanks for the clarification.
First of all I'm not a system adminstrator. I've never installed or managed
an IMAP or IMP service. I have no idea how any of these things actually work
or what protocols they actually. I'm just a frustrated user trying to get
answers that my hosting provider doesn't seem to be able to provide. If I'm
in the wrong place please let me know. However I think I understand now.
Having said all that I'm a 25+ year systems engineer working at the highest
levels of scientific research. So I'm not stupid either ;-)
So let me summarize: IMAP is a protocol and an IMAP server listens on port
143 for things that talk IMAP. I'm assuming that an IMAP server also has a
database (filesystem only probably) where the actual data is stored. IMP is
a front end to IMAP which provides webmail interface capabilities. So, when
a client connects to a hosting provider who is offering IMAP on port 143
then the client is pretty much left on its own to present to the user a
model that it considers user-friendly. In the case of my iPhone and Webmail
(when properly configured), when I delete a message using its interface it
is actually sending a COPY (to Trash mailbox) command, followed by an
EXPUNGE (from source mailbox) command. Whereas the other clients (Outlook,
Outlook Express, Windows Mail) are simply sending a MARK AS DELETED command.
Now in the case of Gmail since clients connect to a different port I'm going
to assume there is an intervening layer they are providing which straightens
all this mess up and behaves in one consistent way no matter what junk a
client sends. This is where protocol messages get "translated" if you like.
One person on this list suggests that there is a way to configure IMAP
client behavior via horde/imp/config/prefs.php. If this is the case, I would
really like to explore this more. But it also implies that IMP intervenes in
a generalized way with all IMAP clients that I still don't understand.
Thanks to all for the help.
John
----- Original Message -----
From: "Jochen Roderburg" <Roderburg at Uni-Koeln.DE>
To: "E. John Messersmith III" <ejm at ejm3.net>
Cc: <imp at lists.horde.org>
Sent: Thursday, April 09, 2009 2:52 AM
Subject: Re: [imp] Deleted messages not moved to trash from client
> Zitat von "E. John Messersmith III" <ejm at ejm3.net>:
>
>> Well, I don't know what Gmail is doing either but the iPhone gets it
>> right
>> in all cases and all clients get it right when using Gmail. I'm
>> not being angry here just very frustrated. I don't know how I can be any
>> clearer. It is either a configuration parameter of IMAP or Horde or both.
>>
>> Webmail - which I think is also part of the Horde project - gets it right
>> too! So what is it doing? I go to Mail Options->Deleting and Moving
>> Messages and I simply check the option "When deleting messages, move
>> them to your Trash folder instead of marking them as deleted?" I select
>> a message and click the Delete link. No marking for deletion; no
>> counting; no nothing - just a simple move from one folder to another -
>> everything is still in one Mailbox. So the "delete" command simply gets
>> translated (or is made equivalent to) a "move" to the trash folder
>> command. The client doesn't have to do anything. As long as the server
>> moves the message to the trash folder the new state is simply reflected
>> (updated) in the client. Why is this so difficult to understand? Is
>> there something obvious I'm missing?
>>
>> So my question remains: given that I have selected the correct Webmail
>> option (and set the corresponding option in all my clients), why is it
>> when a remote IMAP client (Outlook, Outlook Express, Windows Mail)
>> executes a "delete" command and that command is received by the IMAP
>> server is it not translated into a "move" to the trash folder command?
>
> Sorry to say that, but you actually are missing quite a lot. ;-)
> Your cited words seem to indicate that you totally misunderstand how the
> IMAP functions work.
> There is no such such thing as a simple "delete command", nothing gets
> translated on the server site, in fact the concept of a "trash folder" is
> totally unknown to the IMAP protocol and on IMAP servers.
> All that "trash folder magic" is a thing that the various clients handle
> on their own, be it native Windows Clients or Webmail-Clients like IMP.
> And when you want several clients to behave the same way, you have to
> configure all of them individually. And if they don't support your
> preferred options, you're out of luck.
>
> Some more technical details:
>
> Admittedly, the deletion of mail messages on an IMAP server is somewhat
> unusual. It is a two-step process, first you "mark messages as deleted"
> and then you "expunge" them.
>
> About step 1: Each mail message on the server has a few flags or marks
> which can be read and written by the clients. One of these flags is the
> "delete flag". And the process of setting this delete flag is what
> commonly is described by the phrase "marking as deleted". Such marked
> messages are still on the server and can be used in every other way. How
> they are presented to the human reader depends on the used client.
>
> About step 2: The "expunge" command is given for a whole mail folder and
> "really" deletes all messages which were previously "marked as deleted".
>
> This "IMAP native" mail deletion technique should normally be available
> as one option in all IMAP mail clients.
>
> Now to the "trash folders", this is something completely different. Such
> a folder has no special meaning on the server side, it is just an IMAP
> folder like you can have others. It is only used by the client for a
> special purpose. When you have set appropriate client options, then the
> clients moves "deleted mails" to this folder and does not use the above
> described IMAP deletion.
> Actually this mail-move is also not a totally simple process, as there is
> no native "move command" in the IMAP protocol, only a "copy command". So
> with every move (including the moves to the trash) the client has to copy
> the mail to the destination folders and delete it in the source
> afterwards (e.g. with the IMAP delete functions again).
>
> Hope these explanations helped a little to clear up the confusions. ;-)
>
> Best regards,
>
> Jochen Roderburg
> RRZK
> University of Cologne
> Robert-Koch-Str. 10 Tel.: +49-221/478-7024
> D-50931 Koeln E-Mail: Roderburg at Uni-Koeln.DE
> Germany
>
>
>
More information about the imp
mailing list