hello,

one of our users complained about the fact that he doesn't receive some 
messages (randomly) that his teamates have.

Grepping for the message-ID in the mail.log, I can see lmtp says it is saved :

Aug 12 15:23:23 imap-01 dovecot: lmtp(4943, john...@example.net): 
fFuCO09Hy1VPEwAA2t/0+w: sieve: vsize= 
msgid=<037e01d0d502$0e3687d0$2aa39770$@example.net>: stored mail into mailbox 
'INBOX'

The only difference with others recipients is the 'sieve:... stored mail' 
instead of 'saved mail to' when there is no sieve.

But when he asked me, the message was no more in his maildir (I checked with 
doveadm search).

As we have checked and disabled all the filters in his MUA and on the server 
(sieve) and this issue still continue, I did mkdir a dovecot.rawlog inside his 
home.

With the help of rawlog, I can see that the message can be found in a .out file 
(by grepping the Message-ID).
And by reading this .out log raw log, the entire message were sent to the 
client. So I guess that :
* the message was written to disk
* it was sent to the MUA

But I need your help because I don't get how this message disappear from his 
maildir.
My assumptions was that the client must do some commands like :
* STORE the \Deleted flag to this message UID
* and then, later do EXPUNGE

but I did : * grep -i expunge * 20150812* => no match
* grep -iE '\+flags .*\\deleted' => a few matches but not with the appropriate 
UID


snippet from the 20150812-133858-13317.in file: 8nk1 UID FETCH 208209 (UID FLAGS RFC822.SIZE BODY.PEEK[HEADER] INTERNALDATE)
p7uv IDLE
DONE
6yk3 NOOP
83g6 IDLE
DONE
yhbd UID FETCH 208209 (UID FLAGS BODY.PEEK[])
fy16 IDLE
DONE

snippet from the 20150812-133858-13317.out file:
* 56295 FETCH (UID 208209)
wn2p OK Fetch completed.
* 56295 FETCH (UID 208209 FLAGS (\Deleted \Seen \Recent) RFC822.SIZE 17138 INTERNALDATE 
"12-Aug-2015 15:23:22 +0200" BODY[HEADER] {2836}


Considering these points:
* I cannot find any match with 208209 early in raw logs
* I don't see any expunge for the whole day
* I've grepped for \Deleted (insensitive) and didn't find matching like a 
interval of messages UID.

What did I miss to find out how/when the message got \Deleted flag and was 
removed from his maildir?


A few about my setup :
* system is ubuntu 14.04 inside OpenVZ containers (Proxmox)
* dovecot version is 2.2.9 from Ubuntu packages
* 2 director with Internet and local ip addresses
* 2 backends with only local addresses
* these dovecot access storage servers by NFSv3 (that's why we have director)
* imap/lmtp are proxied

Thanks a lot for reading, I'm really disappointed about this problem.
For the moment, I'll delete his script even if all rules are disabled (via 
roundcube, and I checked the rule is commented in the file).
And also I'll try to watch what happens with inotify on the storage server.

Reply via email to