How to Sync iCloud Mail, Calendar, and Contacts with Ubuntu 19.04

Posted on Updated on

If there is an operating system that Apple completely ignores, it is Linux. To this day, Apple has yet to develop any version of its popular software, such as iTunes and iCloud Drive, for Linux. However, if you are a user of iOS devices such as the iPhone or iPad, there are ways to access iCloud services with Ubuntu.

In this tutorial, you will learn how to sync your iCloud email, calendar, and address book on Ubuntu 19.04 (Disco Dingo). We’ll see how to set up Evolution and Thunderbird, two favorite email clients on Ubuntu.

Step One: Create an Apple App-Specific Password

Before you begin software configuration, you need to create an “application password” from your Apple account:

  1. From your iOS device (iPhone or iPad), go to 
    Settings > Apple ID > Password and Security.
  2. Activate the two-factor authentication and follow the instructions to complete the process.
  3. Using your web browser, sign in to your Apple account 
    at https://appleid.apple.com/.
  4. Scroll down to the “Security” section and click “Generate Password …” under “Application Passwords.”

    Apple Application Specific Passwords

  5. Enter a label to identify the application password (e.g., Evolution) and click on “Create.”
    Apple Application Password Label
  6. Make a note of the password generated and click on “Done”:
    Application Specific Password

Let’s move on to the software configuration.

Connecting to iCloud with Evolution Software

Developed by Gnome, the Evolution email client software is probably the easiest to sync with iCloud.

ubuntu evolution screenshot

Installing and configuring the Evolution software

The Evolution software can be installed using the “Ubuntu Software” application under Gnome or using “Discover” under KDE. However, if you prefer to use the command line, use these commands:

sudo apt install evolution -y
sudo apt install evolution-ews -y

Evolution: Connecting to iCloud e-mail

When using Evolution for the first time, you will be prompted to set up an email account:

evolution new email account wizard

Click “Next” to the “Identity” section. Enter your iCloud name and email address:

evolution email wizard identity

Evolution recognizes iCloud addresses and detects the configuration required for receiving emails. In the “Username” field, enter the name of your mailbox without the “@icloud.com” portion: 

evolution icloud imap settings

In the next step, enter the same username for sending an email:

evolution icloud smtp settings

Click “Next” until the configuration is complete. You will then be prompted to enter the password generated at the beginning of this tutorial:

evolution icloud authentication

You can now access your iCloud emails with Evolution.

evolution icloud inbox

Evolution: How to Sync the iCloud Calendar

The connection to the iCloud calendar uses the CalDAV protocol. In short, this is an extension to the WebDAV protocol, which allows online access to an iCalendar format calendar.

To connect a new iCloud calendar, click File > New > Calendar and select CalDAV.

Enter a name to identify the calendar and enter this URL: https://caldav.icloud.com/

Enter your full email address in the “User” and “Email Address” fields:

evolution caldav calendar

Then click  Find Calendars. When prompted to authenticate, enter the password generated at the beginning of this tutorial. Then select the desired calendar from the list and click on “OK”:

evolution icloud calendars list

Click on the “Submit” button again in the “New Agenda” window. A CalDAV calendar group  now appears in Evolution:

evolution caldav calendar

Evolution: How to Sync iCloud Contacts

The iCloud address book uses the CardDAV protocol. CardDAV is a standard Internet protocol for synchronizing contacts. It is built around the HTTP-based WebDAV protocol and uses the vCard format for contact data.

To connect to an iCloud address book in Evolution, click File > New > Address Book. From the drop-down list, select  CardDAV and enter a name for the address book.

In the “URL” field, enter the following address: https://contacts.icloud.com/

Then enter your iCloud email address in the “User” field and click the Find Address Books button.

evolution new carddav address book

Select your address book from the list and click “OK.” Note that Evolution will automatically adjust the URL of the address book. Therefore, do not change the new value. Click on “OK” to finish adding the new notebook.

Connecting to iCloud with Thunderbird Software

Developed by Mozilla, Thunderbird is another popular email application among Linux users. Unfortunately, Thunderbird does not offer a calendar natively. However, we can fix it with extensions.

Here’s how to install Thunderbird:

sudo apt install thunderbird

Once the installation is complete, launch it.

Thunderbird: Connecting to iCloud Email

When it first runs, Thunderbird will prompt you to set up an email address. Enter your iCloud email address and your Apple password (generated at the beginning of this tutorial) and click “Continue”:

thunderbird add icloud email account

Thunderbird will automatically detect the incoming and outgoing server settings. Click on “Done” to complete the configuration.

thunderbird icloud email added

Thunderbird: How to Sync iCloud Calendars and Contacts

Before you can connect to your iCloud address book and calendar, you will need to install some extensions. From the main menu, click “Add-ons”.

thunderbird search add-ons modules

From the left menu, click on  Extensions and then search for “lightning.”

thunderbird add-ons lightning

Install the following extensions: Lightning, LightningButton, Lightning Calendar Tabs, TbSync and Provider for CalDAV & CardDAV. Restart Thunderbird.

From the main menu, click  Add-ons > TbSync. At the bottom of the Accounts column, click the Account actions > Add new account menu and select  CalDAV & CardDAV.

thunderbird add new tbsync account

In the list, select iCloud and click on “Next.” On the next screen, enter your full iCloud email address and the previously generated application password and click “Finish”:

thunderbird tbsync icloud account

Check  Enable and synchronize this account and select the address book and iCloud calendar to sync in the list.

Click the Synchronize now button and close the window. The selected address book and calendar will now be synchronized automatically.

One Reply to “How to Sync iCloud Mail, Calendar, and Contacts with Ubuntu 19.04”!

Leave a Reply

Your email address will not be published. Required fields are marked *