On Dec 16, 2007 12:53 PM, Roland Fritz <roland.fritz@xxxxxxxxxxxxxxxxx> wrote: > H, > > Fredrik Jervfors schrieb: > > "Roland Fritz": > >> an strange error occured after upgrading from 1.4.2 to 1.4.12 (I know > >> it's about time to do so *g*): > >> > >> when sending a new mail or forwarding, everything goes smooth, but when > >> replying the compose.php returns: "ERROR: Connection dropped by IMAP > >> server. Query: EXPUNGE" > >> The mail is sent ok, but nothing shows up in the sent folder. The > >> original > >> mail isn't marked as replied. > >> > >> Disabling all plugins shows the same error. > >> When switching off the 'save sent mails' => no error. > >> When switching off the auto-expunge option => no error. > >> > >> Why tries squirrel to expunge after sending an email? > >> > >> Infos on php/imap: > >> Checking PHP configuration... > >> PHP version 4.3.1 OK. > >> display_errors: 1 > >> error_reporting: 2039 > >> variables_order OK: EGPCS. gpc_order OK: GPC. PHP extensions OK. > >> Checking IMAP service.... > >> IMAP server ready (* OK mymailserver Cyrus IMAP4 v2.1.15 server ready) > >> Capabilities: * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ > >> MAILBOX-REFERRALS NAMESPACE UIDPLUS ID NO_ATOMIC_RENAME UNSELECT > >> CHILDREN MULTIAPPEND SORT THREAD=ORDEREDSUBJECT THREAD=REFERENCES IDLE > >> ANNOTATEMORE X-NETSCAPE > >> > >> anyone out there who experienced the same? Any suggestions? > > > > Regardless of why SquirrelMail expunges, do you have any IMAP logs related > > to the error? It seems to me as if the real problem is the IMAP server > > connection and not really what SquirrelMail asks the IMAP server to do. > > Also, do you use an IMAP proxy or something else between SquirrelMail and > > the IMAP server? And there might be some useful tips at > > I had a look at the imap log: > IOERROR: reading message: unexpected end of file > > when googling for this I got an interesting article, I suppose this could > be the same with squirrel: > http://discussions.apple.com/thread.jspa?messageID=1675657 > >> > When the client wants to add a file to an existing mail box on the server, > it does an APPEND command. The "literal" at the end of the command can > take on two forms: { number } or { number + }. The second is called the > "non-sychronizing" form. > > By default, this is supprted by imapd (and advertised) and used by the > client. In this case, the client is suppose to not wait for the server to > reply with the "go ahead" response but just blast the message across the > wire. Well... it does not. Instead, you get a pregnant pause and > eventually imapd times out and rejects the request. The client, > eventually, may even crash from all this but, for sure, it will provide a > very poor user experience. > << Didn't you keep reading that page? It continues, looking more and more like it may be an issue with the IMAP server and/or certain auth methods. Client-side fixes appear to be a hack to coerce the IMAP server to work right. You might want to post any info about if you are using any authentication in SM, and since your version of Cyrus is quite old, that should be the first thing you try to fix. > For me it looks like squirrel is trying to append, returning and giving > the expunge command and this times out. > > I tried my old squirrel 1.4.2 webmail I updated from, its working without > error (same imapd, no imap proxy). > Have there been same changes in imap_general that causes my error? It is interesting that old SM versions might work, however, you can see that there have not been any significant changes to the APPEND functionality for a long time around line 900 here: http://squirrelmail.svn.sourceforge.net/viewvc/squirrelmail/branches/SM-1_4-STABLE/squirrelmail/functions/imap_general.php?annotate=12476 SM does not pay attention to literal+ here. The relevant change is probably in function mail() in class/deliver/Deliver.class.php, where reply header handling was recently added, but this implies that this problem ONLY happens when you are *replying*. I still advise upgrading to newer IMAP software, as that's always a good thing, but you can try this patch: Index: class/deliver/Deliver.class.php =================================================================== --- class/deliver/Deliver.class.php (revision 12829) +++ class/deliver/Deliver.class.php (working copy) @@ -59,14 +59,18 @@ // calculate reply header if needed // if ($reply_id) { - global $imapConnection, $username, $key, $imapServerAddress, - $imapPort, $mailbox; - if (!$imapConnection) - $imapConnection = sqimap_login($username, $key, - $imapServerAddress, $imapPort, 0); + global $username, $key, $imapServerAddress, $imapPort, $mailbox; + // use our own IMAP connection in case the global one + // has selected a different folder, initiated an APPEND + // (as in the case of copying sent messages to the Sent + // folder), etc + // + $imapConnection = sqimap_login($username, $key, + $imapServerAddress, $imapPort, 0); sqimap_mailbox_select($imapConnection, $mailbox); $reply_message = sqimap_get_message($imapConnection, $reply_id, $mailbox); + sqimap_logout($imapConnection); if ($reply_ent_id) { /* redefine the messsage in case of message/rfc822 */ ------------------------------------------------------------------------- SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ----- squirrelmail-users mailing list Posting guidelines: http://squirrelmail.org/postingguidelines List address: squirrelmail-users@xxxxxxxxxxxxxxxxxxxxx List archives: http://news.gmane.org/gmane.mail.squirrelmail.user List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-users