Setting up postfix/dovecot on a clean FreeBSD cloud server, and have discovered 
a strange problem resulting from the interaction of Mac OS X Mail and dovecot 
(using the Maildir file structure). Essentially, under very specific 
circumstances, Mail somehow tells dovecot that a new incoming message is trash, 
dovecot marks it as such, and the message effectively vanishes.

The specific circumstance is as follows:

        1. A message is sent to a server running postfix. It is placed in the 
Maildir mail structure in the “new” directory.

        2. OS X Mail is used to retrieve mail via IMAP, and dovecot transfers 
the message from “new” to “cur”.

        3. OS X Mail has a rule that seeks to transfer an incoming message to a 
subfolder if the message sender belongs to a group created in the Contacts app 
(IOW the sender is matched against an OS-internal contacts database).

        4. IF the sender is the user, AND the user is in the group against 
which the rule is compared, the message is marked as trash (suffix “T”) and is 
never loaded into the mail client, either in the inbox or in the trash folder. 
For all intents and purposes, it disappears.

The connection log shows the following line:

"WROTE May 30 23:38:11.960 [kCFStreamSocketSecurityLevelTLSv1_2] -- 
host:cloud.helical.com -- port:993 -- socket:0x6080004b6c80 -- 
thread:0x604000678e40
12.3 UID STORE 125 +FLAGS.SILENT (\Deleted)”

which appears to be the client instructing dovecot to mark the message as 
deleted.

I have the log files from the connection on both sides, and the console log 
from the Mac, but can’t understand

        1. how Mail decides that the message should be deleted, and 
        2. why Mail “loses” the message (doesn’t appear in the Trash mailbox or 
anywhere else).

_____

Robb Aley Allan




Reply via email to