Outlook 365 MUA produces dovecot changing filename on some mailbox

John Stoffel john at stoffel.org
Wed Sep 21 15:22:52 UTC 2022


>>>>> "Emilio" == Emilio Augusto Lazo Zaia <emiliolazozaia at gmail.com> writes:

> Hello John! Thanks for your answer.

You're welcome, but I'm not sure I'm going to be able to help here.  I
suspect this is a client issue, just like I hate how the Apple Mail
client marks messages SEEN for no reason at all because it does
"SELECT INBOX" vs "EXAMINE INBOX". 


> On 12/9/22 12:30, John Stoffel wrote:

>         I have a setup on which dovecot is the server in a domain on which mailboxes are >20GB, some of
>         them are 150GB or more.
        
>     It looks like you're using Maildir format?  In any case, please post
>     more details of your configuration. 
    
> Sure. It is a simple setup, with Maildir.

> # doveconf -N

> auth_debug = no
> auth_mechanisms = plain login
> auth_verbose = no
> debug_log_path = /var/log/syslog/mail.debug
> disable_plaintext_auth = no
> login_greeting = Hermes.
> mail_debug = yes
> mail_index_rewrite_max_log_bytes = 1 M
> mail_location = maildir:~/Maildir
> namespace inbox {
>  inbox = yes
>  location =  
>  mailbox Drafts {
>    special_use = \Drafts
>  }
>  mailbox Junk {
>    special_use = \Junk
>  }
>  mailbox Sent {
>    special_use = \Sent
>  }
>  mailbox "Sent Messages" {
>    special_use = \Sent
>  }
>  mailbox Trash {
>    special_use = \Trash
>  }
>  prefix =  
> }
> passdb {
>  driver = pam
>  name =  
> }
> protocols = " imap"
> service auth {
>  unix_listener auth-client {
>    group = Debian-exim
>    mode = 0660
>    user = Debian-exim
>  }
> }
> service imap {
>  vsz_limit = 2 G
> }
> ssl = yes
> ssl_cert = </etc/dovecot/dovecot-cert.pem
> ssl_client_ca_dir = /etc/ssl/certs
> ssl_dh = # hidden, use -P to show it
> ssl_key = # hidden, use -P to show it
> userdb {
>  driver = passwd
>  name =  
> }
> verbose_proctitle = yes
> protocol imap {
>  mail_max_userip_connections = 20
> }

>         When reconfiguring _some_ mailboxes with Outlook 365 (configuring a previously used mailbox on a
>         new PC), the process takes too long even if mail visibility on Outlook is 3 months.
        
>     So the outlook client can't download and parse the number of messages
>     on there without breaking?  How many messages are there?  It's
>     probably not the size of the mailbox, but the number of messages.
    
> 50K mails on some folders... total 5.5M on the whole server. I did discover which was the problem
> but I don't have a solution.

Yeah, that's alot.  You might need to push your clients to start
putting more emails into sub-folders, maybe split up by year say, so
they don't have quite so many emails sitting around.  

>         Inspecting at INBOX cur directory I did note that the 'ls' command shows the last file listed is a
>         file from year 2020, 2019 or whatever not being the last received mail; that means the
>         alphabetical ordering of 'ls' is showing past years after the last received mail, i.e. dovecot
>         changed the epoch in filename. This only happens with Outlook. Following is an excerpt of ls:
        
>     Sure, 'ls -l' doesn't do any sorting, it just reads the directory
>     information as returned from the disk and show you the results.  If
>     you want it by time, you need to do:
    
>         ls -ltr
    
>     to have the newest files be at the end.  But how 'ls' sees the
>     directry entries doen't matter to dovecot.  
    
> Newest files are at the end; 'ls' without '-U' or '--sort=none' lists files ordered
> alphabetically, so the last entry would be the last mail placed on the folder because the epoch
> time is part of the filename in Maildir structure...

>         -rw-r--r-- 1 coord.ventas ventas   544765 sep  9 10:57 1662769412.M329925P1259441.xyz.com,S=
>         544765,W=552045:2,
>         -rw-r--r-- 1 coord.ventas ventas   163491 sep  5 12:14 1662769412.M74257P1259441.xyz.com,S=
>         163491,W=165846:2,S
>         -rw-r--r-- 1 coord.ventas ventas  3043536 sep  9 12:02 1662769412.M777084P1259441.xyz.com,S=
>         3043536,W=3083246:2,
>         -rw-r--r-- 1 coord.ventas ventas   161002 feb 27  2020 1662874173.M608062P1282222.xyz.com,S=
>         161002,W=163373:2,S
>         -rw-r--r-- 1 coord.ventas ventas  2230491 feb 27  2020 1662874176.M281294P1282222.xyz.com,S=
>         2230491,W=2259506:2,S
>         -rw-r--r-- 1 coord.ventas ventas   167925 feb 27  2020 1662874176.M741229P1282222.xyz.com,S=
>         167925,W=170373:2,S
        
>         The process of renaming files is continuous until all folder was
>         reread and renamed every file on it. If I issue 'lsof' (with grep) I
>         see the file that is being renamed passing through tmp/ directory
>         and after that, the file is placed under new/ directory (I guess)
>         and Outlook sees a new email to sync, making the sync process too
>         long... mails that have been synced are resynced...
        
>     Wait what?  Can you explain exactly what you're doing here?  Why would
>     O365 client be renaming the file  
    
> Ok, I disabled TLS options and inspected the traffic with tcpdump. I did note unnecesary STORE,
> EXPUNGE and APPEND operations on previously synced folder. I guess the whole mailbox is analyzed
> (from the local cache on .pst file) and O365 tags as SPAM a large number of innocent emails
> (including local mails from the same domain which does not travel through internet to reach the
> destination).

So this is really a client issue.  You might need to ask around on the
Microsoft site to see if there are any settings you can change when
it's accessing a server using IMAP.  Also, look in the dovecot
archives.  

> Also I'm using port 144 instead of 143 to bypass GData antivirus
> SPAM checks. Anyway I completely disabled GData antivirus and none
> of its services remains running on these workstations; also starting
> Outlook with safe mode exhibits this behavior, so I don't know which
> feature is this on O365 that rescan all stored emails but it is
> beyond the scope of this list because there is no feature on dovecot
> that can be enabled to workaround this. I guess this is a bug on
> O365.

Yup, sorry!

> All mails are retransmitted to the server with the subject modified (tagging them as SPAM or SPAM
> suspected) and obviously dovecot stores them with a new epoch timestamp on filename and that's why
> I have mails with older timestamp but with recent epoch time on filename...

>         Take a look at the timestamp on filenames: 1662769412 corresponds to
>         "Fri Sep  9 20:23:32 -04 2022" and 1662874176 corresponds to Sun Sep
>         11 01:29:36 -04 2022 but mails were neither sent nor received on
>         that dates.
        
>         What is Outlook requesting imap server to do and how to avoid this?
        
>     What is the outlook client version?  What are your connection
>     settings?  Have you looked in the logs on the dovecot server side to
>     see what they say?
    
> Outlook 365 is version 16.15601.20148 compilation 2208 on one workstation that exhibits the issue
> and this same version on another PC on which this issue is not present...

>     What working clients are your users using today?  Are they working
>     properly with older clients?  
    
> Basically I'm the mail server administrator not the sysadmin on the network. All users prefer
> working with O365. I've installed Thunderbird on every PC but users refuses to use it in favor of
> using Outlook, unfortunately.

>     Basically, you have to assume we know nothing and explain your setup
>     and configuration to us like we're idiots who don't know anything.
>     Spell out all the details please.  :-)
    
> Yes, I'm sorry. I hope with this mail I've clarified the scenario.

> Thanks again!

> Emilio



More information about the dovecot mailing list