On Dec 21, 2006, at 3:01 PM, Steve Block wrote:
On Thu, December 21, 2006 4:37 pm, Black.myst said:
Steve Block a écrit :
On Thu, Dec 21, 2006 at 10:29:51AM -0800, Richard Sandberg wrote:
This suggests the IMAP server software doesn't support UID's in the way Roundcube expects, which is required to identify old
drafts. If you post your server software and version, someone might have a
work around.Rich
On Dec 18, 2006, at 3:58 PM, Steve Block wrote:
Although I don't use roundcube as my primary mail client, I do
tend to use it at the office, which firewalls regular IMAP ports. One thing I noticed today while composing a message was that I
ended up with multiple copies of said message in the drafts folder. The message took a while to put together, and I appreciate the
automatic draft saving, but I also feel like subsequent saves should
replace the current, rather than add to it. If not, then all of the
copies should be removed when the final message is sent.Not sure if this is a bug or a 'feature', but I thought i should point it out.
Thanks.
-- Steve Block
I'm running cyrus imapd 2.2.13, which as far as I know is a fairly standard server.
I have the same problem with courier-imap 3.0.8, and I have an
error in log : [timestamp] IMAP Error: Could not delete message from drafts in /pathtoroundcube/program/steps/mail/sendmail.inc on line 0Are you the same in your log ?
In all case, it's not a feature, it's a bug... There are already
one for "delete draft after send" (http://trac.roundcube.net/trac.cgi/ticket/1483991) but not for multi-saved draft.Black Myst
I just checked and I do have that error. Unfortunately that does
not tell me much about what is actually happening.-- Steve
Can you make sure that your saved drafts have a valid "Message-ID"
header inside them? If they do, try logging into your IMAP server
manually to search and delete:
Connect to IMAP from a terminal: openssl s_client -connect imapserver:993 or telnet imapserver 143
Login: I LOGIN username password
Open "Drafts": sel1 SELECT "Drafts"
Search for a known Message-ID. Replace ## with the number characters
in the Message-ID, e.g. 44:
srch1 SEARCH HEADER Message-ID {##}
yourentiremessageheaderhere
The response should be "* SEARCH #" where # is the message number.
If you receive just "* SEARCH" with no number, your server isn't
searching properly, you entered a non-existent Message-ID, or your
character count was off.
Next get the UID of the message, using the # returned by SEARCH: FUID FETCH # (UID)
You should get a response of "* # FETCH (UID ##)" where ## is the UID.
Now try a reverse search, using the UID: srch1 SEARCH UID ##
That should return the original message number from the SEARCH
HEADER. Now delete it:
flg STORE # +FLAGS (\Deleted)
exp1 EXPUNGE
And logout: I LOGOUT
This is the procedure RoundCube uses and works on Dovecot-1.0rc2.
Rich