ARCHIVED. This implements a version of JMAP years old, and is likely also a very poor example of how to make a server in Rust. You don't want this.
A JMAP server
JMAP is the JSON Mail Access Protocol, an API for accessing mail, calendars and contacts on a server. In simple terms its a HTTP+JSON replacement for IMAP, CalDAV and CardDAV. See jmap.io for more info.
A standalone JMAP server, suitable for development and experimentation. The initial goal is complete coverage of the JMAP spec in a small, fast server that requires minimal configuration (hopefully none!)
You need the Rust toolchain installed. Get it from http://www.rust-lang.org/
Then:
git clone https://github.com/robn/salada.git
cd salada
cargo run
Once its up and running you can direct JMAP requests to http://localhost:3000/jmap
Currently targeting JMAP spec 2015-06-12.
-
Authentication
- Service autodiscovery
- Password authentication
- OAuth authentication
- Endpoint refetch
- Revoke access token
-
Accounts
- Accounts
- Sharing
-
Mail
- Mailboxes
- Messages
- Message copy
- Message reporting
- Message lists (queries/search)
- Search snippets
- Mail delivery
-
Contacts
- Contacts
- Contact groups
-
Calendars
- Calendars
- Calendar events
- Calendar lists (queries/search)
- Alerts
-
Push
- EventSource
- Push callbacks
-
File uploads
Copyright (c) 2015 Robert Norris. MIT license. See LICENSE.
Pull requests are very welcome! For more general discussions about salada or JMAP, try the jmap-discuss mailing list or #jmap on Freenode IRC.