Calendaring Exploration Part 3

email zimbra thunderbird remote office calendar remote tools

In the third and final instalment of the Zimbra Adventures blog series, we focus on the deployment and use of a Zimbra instance to facilitate easier calendaring and scheduling.

We detail how to setup an IMAP and CalDAV communication protocols to connect your Zimbra mailbox to the Thunderbird desktop email client, and how to access the Zimbra mailbox and calendar from a mobile device. We also demonstrate how to link the calendars of both applications for collaborative and shared calendaring functions. This guide assumes that you have already setup a working Zimbra instance and have installed the Thunderbird desktop application. We recommend that you have some emails in your Zimbra mailbox and events in your Zimbra calendar before you begin; this will make it easy to tell if your connection with Thunderbird has worked.

Mailbox Linking

The first step is to connect your new Zimbra mailbox to Thunderbird using IMAP. IMAP is the communication protocol that allows an email client to communicate with a mail server and retrieve your messages from it, which is what Thunderbird will be able to do by the end of this process.

From your Thunderbird interface:

  1. Right-click in the left-hand column and select "Settings".
  2. Click on "Account Actions" and select "Add Mail Account". This will bring up a new dialogue box which will ask for your name, email address and password. Enter the same credentials you use to login to Zimbra.

After entering the required information, Thunderbird will display the settings it found at the email provider. These settings likely require modification:

  1. Select "Manual config" at the bottom of the window. This will display a number of options for both the Incoming and Outgoing servers that are associated with your Zimbra mailbox.
  2. Set the Incoming line to "IMAP". The only other option is POP3; use the drop-down to switch to IMAP if POP3 is selected.
  3. Enter your Zimbra server's address as the Server Hostname. The server address is the bolded segment of the URL displayed when you are viewing your Zimbra mailbox.
  4. Set the Incoming SSL field to "SSL/TLS" and the port to "993".
  5. Select "Normal password" in the Authentication section. Your Incoming line should now look like this:

  1. The Outgoing server can only use SMTP (Simple Mail Transfer Protocol, link to Part II for technical explanations), so there is nothing to be adjusted in the first section.
  2. Match the Server Hostname to the one you entered above, and set the Outgoing SSL to "SSL/TLS". The only difference here is that the port will be "465".
  3. Select "Normal password" again and you're finished. 

  1. Select "Re-test" to verify that the server settings are correct and that Thunderbird can connect to your Zimbra mailbox. If the test returns no errors, hit "Done" and your Zimbra mailbox will appear in your Thunderbird desktop client.
  2. Right-click on your email address in the left-hand column and select the "Subscribe" option. This will bring up a list of all the folders that can appear under your email address, such as drafts, junk, spam etc.
  3. Select the folders that you would like to subscribe to, then select "Ok". 

Calendar Linking

Now that you have connected your Thunderbird client to your Zimbra mailbox, the process of using CalDAV to connect your calendars is simple. Ensure that you have enabled the Lightning Calendar extension for Thunderbird. This extension has been a standard feature of Thunderbird since 2011, and should already be present on your Thunderbird client.

  1. Switch to the Lightning Calendar tab by clicking on the Calendar icon.
  2. Right-click in the left-hand column and select the option "New Calendar" from the drop-down menu.
  3. Select "On the Network" in the dialogue box, then click "Next". 
  4. Select "CalDAV" for the format connection and in the Location box, you will need to enter the CalDAV URL for your Zimbra calendar. The format should follow this pattern: https://[servername]/dav/[useremail]/[calendarname]. For our calendar, the URL looked like this: https://mail.stormfree.cloud/dav/connect@stormfree.cloud/Calendar. Your default calendar in Zimbra (which shares your free/busy scheduling with other users on the server - more on that later), is called "Calendar", so this is what you want to put at the end of the URL in the [calendarname] section. Click 'Next" after the URL has been entered.
  5. Choose a name and colour for your calendar when the dialog box appears. This window will also have a drop-down menu from which you can select the email account that this calendar is associated with. Select your Zimbra email that was connected previously and enter your Zimbra email address and the password associated with it to verify connection with the server.

Now your calendar will appear in the left-hand column in the Lightning Calendar tab. If the connection has worked properly, the calendar should immediately have a checkmark in the box next to it, and should sync any events you had in your Zimbra calendar with your Lightning calendar. If something went wrong, the calendar name will still appear in the left-hand column, but will not have a checkmark beside it and will appear faded. If this is the case, we recommend that you begin the calendar connection process again and double-check that the URL for your Zimbra calendar was entered properly. If you are unsure about whether or not the connection worked, make an event in your Zimbra Calendar and then refresh Thunderbird/Lightning; if the connection was successful the event will appear in your Lightning Calendar.

Once your calendar has been connected, you will have a two-way connection between your Zimbra account and your Thunderbird/Lightning client. You can now add a calendar event through either of these interfaces, and it will appear in the other almost immediately. Any changes you make to existing events, whether this be adjusting the time, location, or cancelling an event completely, will also be reflected in both interfaces. When making or editing events, ensure that you have selected the proper calendar to display it in, as you will have multiple options.

To have a shared collaborative calendar with all of the users on your Zimbra server, from your calendar tab in Zimbra:

  1. Right-click on your primary calendar and select "Share Calendar" from the dropdown menu.
  2. In the "Share with" section, select "Internal users or groups" and enter the email addresses of the individuals you would like to share this calendar with. Under "Role", you can determine whether these users can only see your events, or if they can also edit them.
  3. After making your selection, click "OK" and an invitation to share your calendar will be sent to those email addresses. Once your recipients accept, all of the events that you make in that calendar will appear in their interface. In both Zimbra and Thunderbird, any calendars shared in this way will be added to the left column, and can be easily switched on and off.

If a shared calendar where all users on your server can see each others' events doesn't appeal to you, you can still use Zimbra and Thunderbird for free/busy scheduling. Zimbra will automatically track all users' schedules regardless of whether or not they have shared their calendars with others. This means that when you invite another user to a meeting in either Zimbra or Thunderbird, their scheduled events will appear as either busy or scheduled time blocks, indicating when they are free.

Scheduling is further simplified since your email account has also been connected. Now, when you create an event in Thunderbird and invite other users to attend, they will receive an email with an iCal file. This allows the recipient to respond to an invitation, which will automatically add that event to their calendar if accepted. The recipients can also reply by suggesting an alternate time, resulting in the original sender receiving their own iCal file to respond to. This automates much of the scheduling process associated with setting meetings, and ensures that you and your invitees are all on the same page.

Mobile Email Client

Utilizing the same IMAP communication protocol that CalDAV relies on, we can connect a mobile email client to your Zimbra mailbox. This will allow you to access your mail from anywhere and respond to iCal meeting invitations from your phone. These were features that StormFree needed for our users, and we chose to use an application called K-9 Mail to enable them. K-9 Mail is a free app made by K-9 Dog Walkers, and can be found in the App Store on iOS and the Google Play Store on Android.

After downloading and opening the K-9 app:

  1. Select "Next" at the bottom of the screen.
  2. Enter the email address and password that you use to login to Zimbra, and select "IMAP" when asked "What kind of account is this?"
  3. On the next screen you will configure the IMAP Server for this account, just like we did with Thunderbird earlier. In the server section, enter your Zimbra server name, the same one that was used when connecting with Thunderbird. The rest of the incoming server settings should match what we entered in Thunderbird, with "Security" set to "SSL/TLS" and the "Port" on 993.
  4. Select "Next" when these settings have been entered.

  1. To configuring the outgoing SMTP Server, set "Security" to "SSL/TLS" again, enter 465 into the "Port" field, and select "Next".

Now you will be able to set your notification preferences, and enter a name for the account that will appear in sent emails (your own name). Your email account will now appear in the app's main screen. Hit the "+" symbol at the bottom of the screen to add additional accounts. By doing so, you can consolidate your work and personal email accounts in one easy-to-access location on your mobile device.

Mobile Calendaring with CalDAV Sync Adapter

Now that you can access all of your email from your phone, the last step is to make your calendar fully accessible and interactive from your mobile device. To do this, we recommend using an application called CalDAV Sync Adapter, made by gege and available on iOS and Android. The following steps were taken on an Android device, but setup should be similar on a device running iOS.

Once you have downloaded and installed the application:

  1. Navigate to your device settings and select "Users and Accounts".
  2. Choose the "Add Account" option and select "CalDAV Sync Adapter" from the list of applications.
  3. Enter the email associated with your Zimbra account in the "User" line and enter the password for this account.
  4. On the next page, enter the URL of your Zimbra calendar; this is the same URL used earlier to connect Zimbra to Thunderbird, since we are utilizing CalDAV protocol to facilitate communication between these applications. The URL should look like this: "https://[servername]/dav/[useremail]/[calendarname]". The final "Calendar" portion of the URL is simply the name of the calendar you wish to access, and will change if you are trying to access a calendar of a different name. Once this URL is entered, the application will connect and close.
  5. Navigate back to the "Users and Accounts" section and find CalDAV Sync Adapter in the list of applications. Select "Account Sync" in the app and toggle the switch beside "Calendar" (or the name of whatever calendar you decided to connect with) to the "On" position. This will cause the app to begin to sync with your Zimbra calendar, adding all of its events to your default mobile calendar (on Android this is a Google calendar, on iOS it is the Apple Calendar).

Now you can add, delete, and edit events in your calendar straight from your mobile device, and any changes will be automatically reflected in both Zimbra and Lightning.

This toolstack is a free and open source service so you can accomplish this entirely without paying subscription fees. You can also accomplish this using a non-community edition of Zimbra.

Previous Post Next Post