On 17.01.2018 11:56, Paul van der Vlis wrote: > A new customer asks me to build a new mailserver environment with > Dovecot. I normally use Cyrus. > > My question: What's better in Cyrus? Please note that what I am reporting here has happened some years ago, so the situation may be different now. Nevertheless, it may show you a problem which you probably would not have thought of. Some years ago, there was some sort of Dovecot hype, so we decided to give Dovecot a try as IMAP server for our small company environment. I found the setup to be more complicated than Cyrus' (maybe just because I were used to the latter). We were using Thunderbird as IMAP client software, and we were using a large public IMAP structure. So everybody had access to their personal mailbox with all privileges, and had access to the public namespace with certain privileges. Most users had only read and "add" access to the public namespace (i.e. could read and add messages and folders, but could not delete them), but a few users were allowed to delete as well. Now there was the following problem: When you are running Thunderbird in default configuration, and you try to delete a message, then it technically *moves* that message from the folder where it currently resides into the *trash folder of the mailbox of the user who is deleting that message*. Thus, when deleting a message from the public tree, Thunderbird tries to move that message from the respective folder in the public namespace to a user's personal trash folder. In other words, it tries to move that message from one namespace to another one (i.e. from the public namespace to the normal user mailbox namespace). This is a thing Dovecot was not able to do at that point in time. Every time we wanted to delete a message from the public tree (namespace), we got an error message saying that it couldn't move messages between different namespaces (please forgive me that I really can't remember the exact wording, it *really* happened several years ago). Given Thunderbird's market share, this was ridiculous. Being able to smoothly delete messages from the public namespace with *any* email client is a sine qua non. Therefore, after playing around for some days and trying to solve that problem, we dumped Dovecot and have never tried it again since then. Please note that we of course know that 1) We could Thunderbird have messages delete immediately (i.e. finally) instead of moving them to trash, and that this would have solved that problem. However, moving messages and folders to trash instead of immediately deleting them has its advantages, and it has its reasons that this is the default behavior for most major email clients. 2) There are other email clients (as far as I can remember, Outlook was one of them) where deleting messages and folders from the public namespace and putting them into trash was no problem (such clients technically do not move the message or folder, but "simulate" moving by first *copying* the message or folder into trash and then deleting it *immediately and finally* from its original location). However, we expect our IMAP server to be compatible with *all* reasonable clients and all basic IMAP commands, including moving messages. In fact, we have changed our email client software several times since then (currently using Thunderbird again) while our IMAP server software always stayed the same: Cyrus IMAPd. *Summary / What to learn from that experience:* Surprisingly, we can definitely confirm that several years ago Dovecot was seriously misbehaving with one of the most common email clients, while it worked with other ones. The misbehavior did not concern some exotic action or software, but a very common action (delete messages and folders from the public namespace) with a very wide-spread client software (Thunderbird). I do not know if this is still the case, but this experience shows that you should test *every possible client software* you (the customer) could use with Dovecot, and that you should set up all IMAP features and test if any actions you will carry out in the future will work. For example, you should set up some normal user mailboxes, set up a public tree (namespace) with several nested subfolders, assign different access rights to them, set up a shared namespace (shared mailboxes - do not confuse them with public folders), try to move and copy folders and messages between them, and try to delete messages and folders from any of them. Do these tests with as many different email clients as you can. For us, none of those tests failed when Cyrus IMAPd was the IMAP server. Just my two cents ... Regards, Binarus P.S. The problem described above technically is not limited to deleting messages; as explained above it will occur every time a message will be *moved* (in an IMAP sense) between different namespaces, meaning that it might occur during the most basic actions (like moving a message from your personal mailbox to the public tree (namespace)). As with deleting, moving messages will be simulated by "copy-then-delete" by certain IMAP clients which prevents the problem. ---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/ To Unsubscribe: https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus