Publishing iCalendar files, and subscribing to server hosted iCalendar files


SYMPTOMS

A configured calendar is not being published or is not shown when accessed by CalDAV or iCalendar hosting over WebDAV.

CAUSE

The most likely cause of this problem is that either the MailEnable Protocols website running under IIS is not contactable or the Synchronization (HTTPMail) service is not running.  It is also possible the CalDAV/iCalendar support feature has been disabled within the MailEnable administration program or the URL configured in the client is incorrect for the service.

RESOLUTION

To overcome the above issues use the following steps:

1.  Ensure that the URL you are using is available. You should be able to enter the base URL into a web browser and get a valid information page about what MailEnable services are available. This is either handled by using a host header under the MailEnable Protocols website under IIS, or the port that the Synchronization service is running on. If this base URL works, then try adding /calendar to the URL. You should then get a specific page about CalDAV. If you don't get this page make sure that the IIS WebDAV module is removed under IIS.

2.  Enable the CalDAV/iCalendar feature in the administration program. Navigate within the administration console to: Services-> localhost->Services and Connectors, right click on the CalDAV/CardDAV icon and select Properties from the popup menu. Then make sure that the "Enable CalDAV support and iCalendar hosting" checkbox is checked.

3. If you are using the IIS MailEnable Protocols website, make sure that you have enabled DAV services for this in the administration program. Go to  Services->localhost->Services and Connectors, right click on the CalDAV/DardDAV icon and select Properties from the popup menu. Make sure Publish in IIS is enabled.

When configuring a client for iCalendar/CalDAV it can be hard sometimes to work out what is going wrong as the clients tend to not return enough information when configuration issues are present. 

You can check the MailEnable Synchronization logs to see if the client is connecting to the Synchronization service each time you try to connect using an email client.  If you do not see connections from your client IP address in the Synchronization activity log in the appropriate day of your test then you are not able to connect to the service and should again review the steps above. You can also find the logs if using IIS under the directory Mail Enable\Logging\HTTPMail.

MORE INFORMATION

Here is some more information to compliment the supplied details in the MailEnable Webmail Users Guide. The information here is more specific to configuring a client and breaks down the differences between iCalendar and CalDAV configurations. The http://localhost:8080 would be substituted with the URL of what has been configured for the server.

Microsoft Outlook

Outlook only supports posting and retrieving iCalendar files from the server using WebDAV. It does not support CalDAV so all the calendar entries are downloaded to Outlook in one go. Only the Calendar folder is supported, other calendar folders are not accessible.
  
To access the Calendar folder from a server use the URL below. If the Calendar folder is shared as Anonymous access you will not be prompted for credentials. The calendar is added when you select the Add->From Internet in the calendar toolbar:
http://localhost:8080/calendars/mailbox@postoffice/

To access a specific published iCalendar file:
http://localhost:8080/calendars/mailbox@postoffice/mycal.ICS 
  
You can also publish an ICS file to a mailbox calendar. In the Outlook client you can select a calendar and Share->Publish to WebDAV server.

These can be used to create an ICS file on the server
http://localhost:8080/calendars
http://localhost:8080/calendars/mailbox@postoffice/  
  
These will publish the calendar items into the MailEnable calendar   
http://localhost:8080/calendar   
http://localhost:8080/calendar/mailbox@postoffice/

You cannot specify the filename like the URLs below. Outlook will determine the filename when it publishes.
http://localhost:8080/calendars/mailbox@postoffice/mycal.ICS 
http://localhost:8080/calendars/mailbox@postoffice/mycal.ICS 

   Notes:

   - When removing a calendar from the server, if you are connected to a MailEnable calendar it will not remove the entries
    -
The last component of the URL must be either a / character or a string with no . character in it.
    - If publishing to a MailEnable calendar, Outlook will give an incorrect URL to it, since it is assuming it is going to ICS file
    - If you publish an ICS calendar, if that calendar is changed by other subscribed users, then Outlook will not recognise the change, and any further updates on the Outlook client will overwrite the server file again.

Thunderbird 

Thunderbird can connect using CalDAV or retrieve an iCalendar using WebDAV to MailEnable. When you create a calendar and provide the URL, you will be asked for the password. After this Thunderbird prompts for the calendar type and provides iCalendar (ICS) and CalDAV as an option. CalDAV will give you integrated calendar support, where you can edit appointments in Thunderbird. iCalendar will retrieve the calendar from the server, and upload the local calendar. This method though uploads and downloads the complete calendar.

When using Thunderbird, be aware that it will cache passwords used to access URLs. If you clear the cached passwords under Options, you will also need to exit and restart the Thunderbird application. You cannot use the CalDAV protocol to connect to a published iCalendar file.

This URL is used to authenticate as a user and connect to the default calendar folder of a mailbox (use CalDAV setting)

http://localhost:8080/calendar

This URL is used to authenticate as a user and connect to any calendar folder or published ICS file for a mailbox. Thunderbird will ask you what calendars you want to connect to:

http://localhost:8080/calendar/maibox@postoffice/
   
This URL is used to access a specific default calendar for a mailbox (use CalDAV setting). This would be used if you are trying to access a shared calendar:

http://localhost:8080/calendar/mailbox@postoffice/calendar

This URL is used to access a mailbox calendar using using the iCalendar (ICS) method:

http://localhost:8080/calendar/mailbox@postoffice/calendar

To access an uploaded iCalendar (ICS) file:

http://localhost:8080/calendars/mailbox@postoffice/mycal.ICS 

You can also publish a local Thunderbird calendar to an ICS file on the server. This is done using the Publish Calendar menu option for a calendar:

http://localhost:8080/calendars/mailbox@postoffice/mycal.ICS 
http://localhost:8080/calendars/mailbox@postoffice/mycal.ICS 

Configuring permissions for calendar access

When accessing a MailEnable calendar, the permissions are configured under the mailbox shares options in webmail. The "Calendar" folder must be shared and permissions can be set. It is the same as configuring sharing for other webmail users.

For ICS file hosting, the permissions can be configured for the mailbox as Read only, full, or no access. This applies to all the hosted ICS files, and is configured under the sharing options in webmail. Anyone logging in with the mailbox username/password is not affected by these permissions.

REFERENCES

Article ME020038

Article ME020039



Product:MailEnable (Ent-Any)
Category:Other
Article:ME020510
Module:HTTPMail
Keywords:ICS,Calendar,publish,CalDAV,iCalendar
Class:TRB: Troubleshooting (Configuration or Environment)
Revised:Thursday, June 5, 2025
Author:
Publisher:MailEnable