Affected version(s):
OX App Suite 7.10.0 and above
Dovecot 2.3.7.x and below
Problem
Mail previews are not shown or are shown only in rare cases in the App Suite Mail UI, even if enabled via the configuration found here.
Solution
App Suite requests previews from supported IMAP servers providing this capability via the LAZY priority modifier.
This modifier instructs the IMAP server to only return the requested data if it is available more or less instantly. Specifically for Dovecot, this means that the body.snippet must already be in the index, but by default, it is not in the indexed fields. Additionally, prior to Dovecot version 2.3.7.x, the body.snippet was not put into the index upon this type of request. Because of this, even multiple requests and new mails will usually not make the previews appear.
Starting in Dovecot 2.3.8, these requests will teach the autolearning index to save this data for new mails. Snippet of the changelog:
When client issues FETCH PREVIEW (LAZY=FUZZY) command, the caching decisions should be updated so that newly saved mails will have the preview cached.
To achieve the same thing in Dovecot versions prior to 2.3.8 the index field can be listed in the mail_always_cache_fields, as in this example:
mail_always_cache_fields = flags date.received size.virtual imap.bodystructure mime.parts hdr.importance hdr.x-priority hdr.references body.snippet
doveadm fetch -u user@example.com body.snippet all > /dev/null
may be used to force reindexing for already existing mails but please keep in mind that this might be a very expensive operation depending on mailbox sizes and other factors.
Related articles
https://documentation.open-xchange.com/7.10.2/middleware/mail/mail_text_previews.html
https://tools.ietf.org/html/draft-ietf-extra-imap-fetch-preview-06