Re: DBMail 3.2.4 Imap and Outlook 2013
Harald Leithner <[email protected]>
| Newsgroups | gmane.mail.imap.dbmail |
|---|---|
| Organization | ITronic |
| Message-ID | <[email protected]> |
Hi Andrea,
in imapcommands.c on line 2222 there is an if statement
// reporting callback
if ((! cmd->silent) || changed > 0) {
bool showmodseq = (changed && (cmd->unchangedsince ||
self->mailbox->condstore));
bool showflags = (! cmd->silent);
_fetch_update(self, msginfo, showmodseq, showflags);
}
One problem is that 'cmd->silent is true' and 'changed' is always bigger
then 0. Infact its always 1 (if no error).
Thats wrong double wrong ;-)
here is my version, its not 100% correct too, in fact I think its
useless for 'silent = true'
// reporting callback
if ((! cmd->silent) && changed > 0) {
bool showmodseq = (changed && (cmd->unchangedsince ||
self->mailbox->condstore));
bool showflags = TRUE;
_fetch_update(self, msginfo, showmodseq, showflags);
}
This statement gets only called if 'cmd->silent = false'. So we always
'showflags = true'.
In fact I think showflags should always be true but may I misunderstand
the RFC.
I think that there should be a function to load all changed Mails for in
the same folder except the current changed one (thats was cmd->silent
mean) and should be reported to the client with _fetch_update.
regards,
Harald
PS: I'm not a c developer so maybe I wrote bullshit code ;-)
Am 23.09.2015 um 10:00 schrieb Andrea Brancatelli:
> Hello Harald,
>
> if you can share your findings I have a couple of developer who can work
> on the code to develop a regular patch.
>
> Thanks.
>
> ---
>
> *Andrea Brancatelli Schema31 S.p.a. Responsabile IT
> *
> ROMA - FIRENZE - PALERMO
> ITALY
> Tel: +39. 06.98.358.472
> Cell: +39 331.2488468
> Fax: +39. 055.71.880.466
> Società del Gruppo*SC31 ITALIA*
>
> Il 2015-09-22 22:05 Harald Leithner ha scritto:
>
>> Hi Luka,
>>
>> I found already the problem, its a bug in dbmail. It doesn't handle
>> the "store FLAGS.SLIENT" command correct.
>>
>> I fixed (or better workaround) it locally but didn't deployed it.
>>
>> Btw I think there is a logic error anyway in handling concurrent
>> changes in dbmail, but I'm not sure if I'm right or misinterpreted the
>> RFC.
>>
>> regards,
>>
>> Harald
>>
>>
>> Am 22.09.2015 um 15:03 schrieb Jure Pečar:
>>> On Fri, 18 Sep 2015 14:07:31 +0200
>>> Harald Leithner <[email protected] <mailto:[email protected]>> wrote:
>>>
>>>> The Problem seams to be syncing after reading a message, the message get
>>>> marked as read. Outlook starts syncing and after sync the message get
>>>> unread again. After changing folder (or restart outlook) the message is
>>>> marked as read. So it seams that the server gets the correct flag set
>>>> but is unable to tell outlook the new state and returns the unread flag.
>>>> This doesn't happen the other direct (read->unread) this works without a
>>>> problem...
>>>>
>>>> I would like to know if anyone else has this problem with DBMail 3.2.4
>>>> and Outlook 2013.
>>>
>>>
>>> This is from a coworker who has problems subscribing to the mailing list:
>>>
>>> Hello Harald,
>>>
>>> I have been dealing with the same issues you have described. The problem in my opinion is that Outlook 2013 makes multiple simultaneous connections to the imap server. I tested the same manualy, by making two connections and marking mails as read on one. The other connection did not see the change. I also tried Database debug log (511). I did see the SQL query that aplied changes which succeeded, but i did not see any query when i listed the emails on the second connection. Maybe there is some sort of caching involved?
>>>
>>> Best regards,
--
Harald Leithner
ITronic
Wiedner Hauptstraße 120/5.1, 1050 Wien, Austria
Tel: +43-1-545 0 604
Mobil: +43-699-123 78 4 78
Mail: [email protected] | itronic.at
_______________________________________________
DBmail mailing list
[email protected]
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail