Re: Move mails between folders on different backend ser vers – Problem with Horde Webmail
Frank Richter <[email protected]>
| Newsgroups | gmane.mail.imap.cyrus |
|---|---|
| Organization | TU Chemnitz, Germany |
| Message-ID | <[email protected]> |
Hello,
as we're facing more problems (something with uidvalidity …) with
cyrus-imapd-3.2.6 and Horde/IMP Webmail: Is anyone using this combination?
Thanks,
Frank
> Hello,
> we have a traditional murder (frontend with 2 backend servers –
> cyrus-imapd-3.2.6-Debian-3.2.6-2+deb11u1).
> We use shared folder (group namesapce).
> Moving e-mails between folders on different backend servers (from backend1
> to backend2) works with Thunderbird, alpine etc. With Horde Webmail there
> is an error, see below.
>
> IMAP logs:
>
> OK:
> Frontend:
> <1648127917<6 UID MOVE 855056 group.fritest2
> >1648127917>* *OK [COPYUID 1647952540 855056 11] Completed*
>
> Backend (same source and target)
> <1648127917<6 UID Move 855056 {14+}
> >1648127917>* OK [COPYUID 1647952540 855056 11] Completed
>
> NOT OK:
> Frontend:
> <1648127910<6 UID MOVE 855054 group.fritest
> >1648127910>6 *OK [COPYUID 1611826992 15] Completed*
>
> Backend (source):
> <1648127910<6 Uid Fetch 855054 (Flags Internaldate)
> >1648127910>* 1981 FETCH (FLAGS (\Seen $Label4 NonJunk) UID 855054
> INTERNALDATE "23-Mar-2022 19:55:11 +0100")
> 6 OK Completed (0.000 sec)
> <1648127910<PROXY2 Uid Fetch 855054 (Rfc822.peek)
> >1648127910>* 1981 FETCH (UID 855054 RFC822 {3129}
> Return-Path: …
> PROXY2 OK Completed (0.000 sec)
>
> Backend (target):
> <1648127910<6 Append {13+}
> group.fritest (\Seen $Label4 NonJunk) "23-Mar-2022 19:55:11 +0100" {3129+}
> Return-Path: …
> >1648127910>6 OK [APPENDUID 1611826992 15] Completed
> <1648127910<Q01 LOGOUT
> >1648127910>* BYE LOGOUT received
> Q01 OK Completed
>
> So the responses on COPYUID are different.
>
> When moving between different backend servers, Horde Webmail throws
> warnings and errors in its log file:
>
> 2022-03-24T14:18:30 WARNING: HORDE: [imp] PHP ERROR: array_combine(): Both
> parameters should have an equal number of elements [pid 64686 on line 4905
> of "/usr/share/pear/Horde/Imap/Client/Socket.php"]
>
> PHP source is:
>
> case 'COPYUID':
> // Defined by RFC 4315
> //*COPYUID: [0] = UIDVALIDITY, [1] = UIDFROM, [2] = UIDTO*
> $pipeline->data['copyuid'] = array_combine(
> $this->getIdsOb($rc->data[1])->ids,
> $this->getIdsOb($rc->data[2])->ids
> );
>
> So the IMAP client in Horde expects 3 values for COPYUID response (and
> doesn't handle if there are 2 values only – it throws errors in the
> following processing).
>
> Is cyrus-imapd wrong in this case returning 2 values only (missing the
> source UID of the moved message)?
>
> Thanks,
> Frank
>
> --
> Chemnitz University of Technology, Germany
>
This is a multi-part message in MIME format...
------------=_1648566244-229276-1--
smime.p7s
(application/pkcs7-signature, 5.8 KB) - not displayed