Although I don't know if your also using Plesk/Odin, which I am, I ran in the same problem. After some search it seems Horde Webmail has some built-in functionality for that and if that is not the case for you, you can install addons for that.
For example, when you login in to Horde Webmail go to Agenda and edit the agenda you want to have on multiple devices. At the
Subscription tab you'll find some CalDAV (read and write) en WebDAV (read only) information.
Take note of the CalDAV account URL (which I used), here's an example;
If you prefer another url, be sure to check the Horde CalDAV and Horde CardDAV pages first for compatibility.
When you don't have the functionality already at your disposal, have a look at Kronolith for Calendar support, Turba for Contact management and finally SabreDav for the implementation. Or maybe consider switching to Horde Groupware Webmail or Horde Groupware
To add this in Outlook (even works in 2016) you don't have to add the agenda to Outlook itself, but install Outlook CalDav Synchronizer and you get another tab in your outlook ribbon which says CalDAV Synchronizer.
Just create a new profile in the synchronizer to get the Agenda in Outlook, and edits will be synchronized both ways.
To have your contacts synchronized, create another profile for those using the same method.
Last but not least, the principals (account) url you get from the Horde Webmail, for both Agenda and Addressbooks can be added to an iPhone or iPad (iOS) separately as their respective usage. Meaning, they don't show up if you only add a new mail account. Here's how to do it:
Settings > Mail, Contacts, Calendars tap
Add Account then tap
Other from there you can add the CalDAV Agenda(Calendar) or Addressbook(Contacts) using the same credentials you use for logging into Horde Webmail. For the
Server address, you guessed it, you use the same CalDAV principals (account) url from before.
If you use another mail client, I'm positive this information will get you on the right track to get a solution for that as well.