π

Moving from Thunderbird to Evolution for Emails and Calendar

Show Sidebar

Update 2021-06-02: Hiding addressbook, tasks and memos via gsettings

This is my report on my migration process from Thunderbird Mail 78.8.1 (64-bit) to Evolution 3.40.1 (by Flathub.org). Except my use-case with linking to emails (via message-ID) and opening those emails, my story should reflect a general business email/calendar management point-of-view.

Why Switching?

The most important question is, why switching in the first place?

Until recently, I recommended to use Thunderbird as a business MUA for typical use-cases:

In recent months, I had to face several drawbacks when Thunderbird 78 introduced its own implementation for OpenPGP handling. In short, this did not improve the user experience at all.

Since other things annoyed me for a longer period of time, this was the tipping point that started me to think about a migration to an alternative.

Here is a short list of things that were perceived as negative when using Thunderbird by me:

My Email-Link Workflow on Thunderbird

In this article I briefly mentioned thunderlink to get links to emails and it also handles those links in order to retrieve the linked emails.

I never blogged about it in detail, so this might be the last chance to do fix this.

Frequent readers of this blog know, I organize myself using Org mode. Being able to link to emails within my notes is an essential part of my workflows. I may refer to tasks I need to accomplish, important input to a task or similar.

Therefore, I was very happy when I found thunderlink. This add-on provided a way to define user-defined link texts with several header data to use. I settled for this:

 [[messageid:$MESSAGEID][$ISOTIMESTAMP $SENDERNAME <$SENDEREMAIL>: $SUBJECT]]	  

If you are using a knowledge management tool that is able to process HTML links, Markdown links or other link types, you may want to adapt the format accordingly.

Configuring my Emacs to handle links of type messageid: was pretty easy and can be found in my current Emacs config file or its history. Just search for "thunderlink".

With Thunderbird changing their add-on API, thunderlink was dead. Luckily, there was another project that implemented the new API after a while: cb_thunderlink.

The migration was smooth as everything around was quite similar. Please be aware that the documentation of cb_thunderlink is not as thorough as thunderlink. So I'd suggest to read both.

Attempted Migration to KDE KMail/Kontact/KOrganizer

A couple of weeks ago, I tried to migrate to KMail.

I installed the large set of packages and tried to use the import wizards in order to get fast results.

Unfortunately, I faced many errors.

KMail → Tools → Import from other mail client → "Could not start the import wizard. Please make sure you have ImportWizard properly installed."

I checked and made sure that libkpimimportwizard5 is installed. No change. On this page I found the tip for apt install akonadi-import-wizard.

Now the Wizard starts → "Import everything"

"Import mail messages" → nothing happens. I checked htop/iotop → nothing going on. The process seems to hang.

"Back" → manual selection → "Calendar" is greyed out.

I added: apt install korganizer

Importer still does not offer to import calendar and manual selection also does nothing.

Manually creating "Maildir" account → after entering my credentials and everything, nothing happens again.

Aborting. Creating "IMAP" account → that does something at least.

KWallet with OpenPGP setup:

Encryption error while attempting to save the wallet kdewallet. Error code is 55 (Invalid value). Please fix your system configuration, then try again. This error may occur if you are not using a full trust GPG key. Please ensure you have the secret key for the key you are using.

Of course, I set the trust level of that key to ultimate.

Also:

There seems to be a problem in reaching this server or choosing a safe way to sent the credentials to server. We advise you to check the settings of the account and adjust it manually if needed.

I came to the conclusion that KMail does seem to be even worse than Thunderbird. I gave up before I could reach a working setup.

My Setup Process for Evolution

I read good things about GNOME Evolution. So after facing too many annoying issues of Thunderbird again, I decided to gite it a try the previous week.

Running a Debian-based GNU/Linux distribution (Xubuntu 20.04 LTS), the initial setup was easy:

 apt install evolution evolution-plugins-experimental	  

Now, my Evolution version was 3.36.4-0ubuntu1.

The import wizard for the email setup did not work at my side. After selecting my Thunderbird msf-file, the "File type" dropdown was disabled and the "Next" button as well. So there is no working format auto-detect and not "Thunderbird" to select from manually.

Too bad.

After the KMail experience, I decided to try to set up the mail settings from scratch again. This worked flawlessly.

The only thing I forgot in the first attempt was the multiple occasions where I had to set up my OpenPGP and S/MIME certificates so that Evolution was able to use them properly.

Calendar was setup up quickly with the links to our company server and my local Org mode ical file for personal calendar.

With everything running quite good so far, I decided to take a look at my options for generating links to emails and opening them.

Unfortunately, there was no add-on and no internal support for it. So I filed this feature request. The developers that replied to my request denied direct support for generating links to emails and pointed me to the direction of implementing an add-on myself. Since this has to be done in a programming language I'm not familiar with, this is no option to me.

However, they also explained that opening emails from command line using a message-ID was introduced in version 3.40. Unfortunately, this is only available when I'd compile Evolution myself (no, thanks) or via their flatpak package from flathub.

Now, I had to migrate once again. From my (older) Debian package to the newer flatpak package although I don't like concepts like flatpak, snap or AppImage.

Evolution: Setup Process with Flatpak

I first created a backup file from my existing Evolution setup. Then I removed Evolution via the package manager.

I then installed flatpak itself:

 apt install flatpak	  

The command that worked for installing Evolution via flatpak was this:

 flatpak install --user --from https://dl.flathub.org/repo/appstream/org.gnome.Evolution.flatpakref	  

Starting this Evolution version 3.40.1 now works with:

 flatpak run evolution	  

Restoring from the backup file went smoothly. Migration to flatpak was very easy in the end.

And I could finally confirm that this was able to open the email of the given message-ID:

 flatpak run org.gnome.Evolution "mid:<foobar1234567@example.com>"	  

One minor thing to add: the command to show the Evolution window when I click on my xfce email indicator "Mail Watcher" is:

 xdotool search --desktop 0 --classname Evolution windowactivate	  

Linking Emails with Evolution

After modifying my Emacs configuration to handle messageid: links with Evolution, I was able to open up any old email link again. Please notice that you need to enable the option of syncing all emails to your local installation if you want to avoid really long lookup times when your request is sent to the IMAP server: Account preferences → Receiving Options → [X] Synchronize remote mail locally in all folders

The missing piece was the generating of new links to emails. I found out that I'm able to mark, copy and paste the displayed email header from Evolution to my Emacs.

Furthermore, I found out that it is possible to enable the display of existing header lines like "Message-id": Edit → Preferences → Mail Preferences → Headers → "Displayed Message Headers".

This way, I may now manually mark the header that contains all relevant email meta-data for my links to the clipboard.

I then invested two hours of sweat and tears to come up with an Elisp function that extracts the clipboard content, parses the text for all necessary strings and pastes (yanks) the generated Org mode link to my notes. You can see the result in my configuration when you search for my-convert-mail-header-to-org-link.

For convenience, I mapped this function to a free keyboard shortcut combination.

Finally, my email link and open workflow was working again.

It has the nice side-effect that I now may use the same workflow to link to mutt emails for personal use as well. For my personal workflows, I did not set up such link possibility yet and preferred copying the header and the important parts of emails instead.

Positive and Negative Aspects of Evolution (So Far)

So far, I'm very glad that I switched to Evolution. I should have done this earlier.

I do not mention all the good things. There are many of them. Some of them are how it is supposed to be (being able to find emails with search), some of them are even unexpected gems (stored searches). I do think that Evolution is generally much more user-friendly compared to Thunderbird. However, there are also some things I do list on the negative side. This is my current list of annoyances or even bugs I found to give you an impression:

When my Debian package manager provides me version 3.40+ in the future (most probably with Xubuntu 22.04 LTS), I will happily ditch flatpak from my system. This will fix a few of the issues above.

Thanks for reading through the whole article, joining me on my path from Thunderbird to Evolution, which is my current recommendation for mail and calendar tools for GNU/Linux.

Update 2021-06-02: Hiding addressbook, tasks and memos via gsettings

To my surprise, I got a nice reply on my feature request where I mentioned this article here.

Milan acknowledged some of my findings and gave me a cool tip on how to hide addressbook, tasks and memos via gsettings:

flatpak run --command=sh org.gnome.Evolution
[📦 org.gnome.Evolution ~]$ gsettings set org.gnome.evolution.shell buttons-hide '["addressbook","tasks","memos"]'
[📦 org.gnome.Evolution ~]$ exit	  

It does the trick and hides the parts of Evolution I am not actively using. You have to know that the corresponding keyboard shortcuts do not change: you still have to use C-1 for email and C-3 for calendar (and not =C=2= as I would have assumed initially). So the hidden parts still "occupy" their shortcuts. And yes, you can still open them using their shortcut.


Related articles that link to this one:

Comment via email or via Disqus comments below: