From ArchWiki
< GNOME(Redirected from Evolution)
Jump to navigation Jump to search

Evolution is an application for managing email, calendars, contacts, tasks, and notes. It is the default mail client in GNOME. It includes support for IMAP, Microsoft Exchange Server, Novell GroupWise, Kolab, LDAP, WebDAV, CalDAV, and many other services and protocols.


Install the evolution package.

Additional plugins:

  • Bogofilter Plugin — Spam filtering for Evolution, using Bogofilter. || evolution-bogofilter
  • EWS Plugin — MS Exchange integration through Exchange Web Services. || evolution-ews
  • On Plugin — Support for controling Evolution from system tray. || evolution-on
  • RSS Plugin — Enables reading of RSS/RDF/ATOM feeds. || evolution-rss
  • SpamAssassin Plugin — Spam filtering for Evolution, using SpamAssassin. || evolution-spamassassin

IMAP setup

This is the setup for a standard IMAP mail address. Go to Edit -> Preferences -> Mail Accounts. Add a mail account insert your Name and real email adress. Then click 'forward' here you are going to select the server type, this is IMAP. Now fill in the textbox server, for the server adress and username. For the rest of the options just follow the wizard. It is very easy, if you get stuck read this guide.

Alternative IMAP setup

An alternative to letting Evolution connect directly to the IMAP server is to sync the IMAP server to your PC. This costs as much hard-disk space as you have mail, though it is possible to limit the folders synced in this manner (see below). An additional benefit (primary inspiration for this app) is that you have a full copy of your email, including attachments, on your PC for retrieval, even if on the move without an internet connection.

To set this up, you will need to install the offlineimap package (see also [1]).

OfflineIMAP setup

OfflineIMAP takes its settings from the file ~/.offlineimaprc, which you will need to create. For standard IMAP server, most users will be able to use the template file below. See the OfflineIMAP for more information.

accounts = MyAccount
# Set this to the number of accounts you have.
maxsyncaccounts = 1
# You can set ui = TTY.TTYUI for interactive password entry if needed.
# Setting it within this file (see below) is easier.
ui = Noninteractive.Basic

[Account MyAccount]
# Each account should have a local and remote repository
localrepository = MyLocal
remoterepository = MyMailserver
# Specifies how often to do a repeated sync (if running without crond)
autorefresh = 10

[Repository MyLocal]
type = Maildir
localfolders = /home/path/to/your/maildir
# This needs to be specified so offlineimap does not complain during resync 
sep = .
nametrans = lambda folder: re.sub('^.', '',
                       re.sub('^$', '.INBOX', folder))
[Repository MyMailserver]
# Example for a gmail account
type = IMAP
remotehost =
remoteuser = yourname
remotepass = yourpassword
remoteport = 143
# You need to configure some CA certificates
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
# Translate your INBOX to be the root directory.
# All other directories need a dot before the actual name.
nametrans = lambda folder: re.sub('^.INBOX$', '',
                       re.sub('^', '.', folder))

In case of Gmail instead of standard IMAP server, you will most likely need to add additional translations ( source[dead link 2020-03-29 ⓘ] ).

For remote Mailserver Repository:

nametrans = lambda folder: re.sub('^.INBOX$', '',
                          re.sub('^', '.',
                          re.sub('\.', '_2E',
                          re.sub('^\[Gmail\].Drafts$', 'Drafts',
                          re.sub('^\[Gmail\].Sent Mail$', 'Sent', folder)))))

and for local Repository:

nametrans = lambda folder: re.sub('^Sent$',   '[Gmail].Sent Mail',
                          re.sub('^Drafts$', '[Gmail].Drafts',
                          re.sub('_2E', '.',
                          re.sub('^.', '',
                          re.sub('^$', '.INBOX', folder)))))

Other examples for nametrans configurations, including for Courier-imap servers can be found here.

Warning: Please note that any space indenting a line of code in ~/.offlineimaprc would be considered as appending that line to the previous line. In other words, always make sure there is no space before any lines in your config file.

See OfflineIMAP#Running offlineimap in the background to configure OfflineIMAP for work in the background.

Evolution setup for offlineimap's maildir

This is really quite simple, use Evolution's Account Assistant and select the Server Type "Maildir-format mail directories", under the Receiving Email section. Select also the path to your maildir (the 'root' folder if you are using a modified version of the .offlineimaprc above). You can change your 'Checking for New Mail' option to something very short, even 1 minute, since this only checks your local copy and not the server-side copy. SMTP settings are according to normal usage (does not go through offlineimap).

Gmail setup

To setup a Gmail account, go to Edit > Preferences > Mail Accounts and enter your mail account details.

  • Evolution automatically configures your settings in order to receive and send mails via Gmail if you enter your address during the initial setup.
  • In GNOME you can add a Google account in GNOME Settings > Online Account instead.

Receiving mail

  • Server Type: POP
  • Server:
  • Port: 995
  • Username: <username>
  • Encryption method: TLS on a dedicated port
  • Authenthication Type: Password

Optionally fill in automatically check for new mail every ** minutes. The rest is user specific.

Sending mail

  • Server type: SMTP
  • Server:
  • Port: 465
  • Server requires authentication: Checked
  • Encryption method: TLS on a dedicated port
  • Authentication Type: PLAIN or Login
  • Username: <username>

You are now finished with configuring Evolution for Gmail. Just hit Send/Receive in the main screen and wait for new mail. If it still did not work, go here.

Gmail calendar

You can use your Gmail calendar in Evolution here is how:

Go to your calendar in your browser. Click on manage calendars -> the click on the calendar you want to add -> In the Private URL section copy the URL of ICAL (green button).

Now go to Evolution. Click on file -> new -> calendar . In the 'new calendar dialog box' select type: On The Web. You can fill in your own calendar name Then Copy the URL to the URL field

Now you will see your Google calendar in your calendar view in Evolution by the name you gave it in the Name field.

Variant2 (with evolution-webcal):

From Evolution click on -> new -> calendar . In the 'new calendar dialog box' select type: Google. You can fill in your own calendar name. Insert your username (not the email). Click the button "Get List" and choose the calendar you want to use.

Google contacts

Simarly with the calendar, you can sync your Google contacts in Evolution.

On Evolution, click on File > New > Address Book . Choose Google as type and add your Google account email as the User.

Note: The above does not work since Google has turned off the old developer APIs which Evolution uses. You will need to create a GNOME online account (GOA) for your Google account. Install gnome-control-center to be able to create a GOA and select what you would like to sync. You can delete/disable any Google addressbooks created in Evolution directly, else you will see two addressbooks.

Microsoft Exchange and Office 365

If your email is locally hosted on a Microsoft Exchange Server or cloud hosted on Office 365 you can access POP, IMAP and SMTP to access your email. However, some additional features such as access to Outlook Calendar and contact management are only available if you connect to the Microsoft Exchange Server or Office 365 server using Microsoft’s proprietary Exchange ActiveSync protocol.

To use Exchange ActiveSync protol you need to install gnome-online-accounts and evolution-ews.

To add your Exchange account, open the Gnome Settings app and click on Online Accounts and add a new Microsoft Exchange account with the following values:

  • E-mail: your e-mail address (e.g.
  • Password: your e-mail account password / get or set apppassword from
  • Username: your e-mail address once more
  • Server:

After clicking "Connect" your Exchange account should now listed besides your other online accounts, choose what you want to sync (by default, all features are enabled).

Note: If the e-mail address you are trying to configure uses a custom domain you still need to use for the server when configuring the account.
Note: If you are using 2fa this function is broken

Using Evolution outside of GNOME

In order to use Evolution outside of GNOME desktop you must export gnome-keyring#Using the keyring outside GNOME first.

Spell check

You need a local dictionary installed. See the aspell article.

Tips and tricks

Changing cipher settings

It is possible to change the advertised ciphers used to secure the connetion to the server. Evolution does not provide a switch to change the settings for the used ciphers, however since Evolution uses GnuTLS it is possible to change the settings using environment variables.

One way to change the settings is to set the variable in /usr/share/applications/evolution.desktop

change the line:

Exec=evolution %U

to something like this (in case you do not like to use ECC ciphers with NIST/NSA curves):


The available cipher settings are documented here:

A different way to archive this would be some kind of start script:



exec /usr/bin/evolution

See also:


Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: Not sure if "disappearing accounts" is still an issue 11 years later. (Discuss in Talk:GNOME/Evolution#)

If after some system upgrade one gets no accounts in Evolution then all is not lost. First, we can see if we got our account files in ~/.evolution/, if so, then the only solution is to just make a new account in Evolution with the same parameters. (I only lost the signatures

Failing to synchronize with server

If you change internet connections, such as switching VPN or restart X, Evolution may have problems connecting to the mail servers. You would see it endlessly trying to connect in the status bar at the bottom.

A possible solution is to switch to "Work Offline" select "Don't Synchronize” in the pop-up. Then after a minute has passed, go back to On-line mode. It should now have no problem fetching from the mail servers.

Stuck at 'saving user interface' on startup

This is a known problem and relates to glibc not Evolution hence cannot be fixed. To workaround the problem, before Evolution is closed put the application in 'offline mode' either by clicking on plug and socket icon (in bottom left) or from File > Work offline. Next time Evolution is run, put it to online mode to sync all emails. Problem of being stuck at 'saving user interface' will not repeat.

Mail and preview not displayed, crash error in WebKitWebProcess reported

While I have not fully investigated this, have a look at - disabling the sandbox worked for me, too. This is bound to have security implications, so do not use it as a permanent fix….


GNOME Evolution Guide