For most of my private email needs I prefer to use Mu4e within Emacs. It is a module of Emacs which basically searches through Mu index file.
Naturally, to be able to index something, you first need to fetch it. In this case “it” are email messages from the server, or, my mailbox if you wish. For this particular purpose OfflineIMAP utility has served me well over the time, and to be honest, my needs are quite simple:
- sync messages locally to some folder
- sync changes of that folder back to the server
What I’ve noticed lately though is that every sync, even with quick option turned on, takes around 8-10 seconds with OfflineIMAP. That prompted me to explore MBSync to see how long does it take to sync messages. Lo and behold:
[ivan@bequiet ~]$ time mbsync tomica C: 1/1 B: 7/7 M: +0/0 *0/0 #0/0 S: +7/7 *0/0 #0/0 real 0m2.109s user 0m0.061s sys 0m0.027s
Results are pretty much consistent across the runs.
So, since configuration was simple and pretty straight forward and as it serves my purpose well, I’m switching to it. If anybody is interested, my config is as follows:
IMAPAccount tomica CertificateFile /etc/ssl/certs/ca-bundle.crt SSLType IMAPS Host MYMAILSERVER User MYEMAIL PassCmd "secret-tool lookup MYEMAIL password" MaildirStore tomica-local Path ~/Mail/ Inbox ~/Mail/Inbox SubFolders Verbatim IMAPStore tomica-remote Account tomica Channel tomica Master :tomica-remote: Slave :tomica-local: SyncState * Patterns * Create Both Expunge Both
Pretty straight forward.
After switching to mbsync in mu4e I’ve noticed that I get duplicate UID error each time I perform the refile. Solution to this issue was to add:
(setq mu4e-change-filenames-when-moving t)
To my Emacs config.