Phase 13: Add calendars and contacts

Stalwart already provides CalDAV and CardDAV through its HTTP service.

No new Docker containers are required.

No additional public ports are required.

Everything runs through:

https://mail.example.com

13.1 Add SRV records

Calendar:

Name: _caldavs._tcp
Type: SRV
Priority: 0
Value: 1 443 mail.example.com.

Contacts:

Name: _carddavs._tcp
Type: SRV
Priority: 0
Value: 1 443 mail.example.com.

Verify:

dig +short SRV _caldavs._tcp.example.com
dig +short SRV _carddavs._tcp.example.com

Expected:

0 1 443 mail.example.com.

13.2 Verify the endpoints

curl -I https://mail.example.com/.well-known/caldav
curl -I https://mail.example.com/.well-known/carddav

A redirect or authentication response is normal.

The direct service paths are generally:

https://mail.example.com/dav/cal
https://mail.example.com/dav/card

13.3 Configure a CalDAV client

Use:

Server: mail.example.com
Username: user@example.com
Password: mailbox password
Port: 443
SSL: Enabled

Advanced server path:

/.well-known/caldav

13.4 Configure a CardDAV client

Use:

Server: mail.example.com
Username: user@example.com
Password: mailbox password
Port: 443
SSL: Enabled

Advanced server path:

/.well-known/carddav

Calendar events and contacts are stored in the same Stalwart data system and must be included in the backup strategy.

Discussions