ClearOS's 7.x's mail server is Cyrus IMAP 2.x This page is to coordinate testing of upcoming Cyrus IMAP 3.x , which brings new features such as CalDAV, CardDAV and JMAP support.
A lot of work is happening on the JMAP spec and associated code. We'll update cyrus.suite.wiki in November or December 2017* January 2018 to the latest developer snapshot.
cyrus.suite.wiki is a shared development and testing server. Once the testing period is over, the server will be deleted so don't store any real data on this server. If you would like server access, please contact Marc Laporte
You can replace test with your login and follow the pattern below
https://cyrus.suite.wiki:81/app/users (you need root access). And users need to login via IMAP for their account to be properly set up.
https://cyrus.suite.wiki/dav/calendars/user/test
https://cyrus.suite.wiki/dav/addressbooks/user/test/
https://cyrus.suite.wiki/rss/user/test
port 143
server: cyrus.suite.wiki
username: login (not full email)
port: 25?
server: cyrus.suite.wiki
username: login (not full email)
not working for me
SSL
port 993
server: cyrus.suite.wiki
username: login (not full email)
not working for me
SSL
port: 587
server: cyrus.suite.wiki
username: login (not full email)
not working for me
The webmail demo is installed, but it looks like the authentication layer in the client is different than what is expected in Cyrus? I updated the JMAP.auth.didAuthenticate block in /usr/share/jmap-demo-webmail/app/state.js as described in the JMAP webmail demo docs, but I see 401 unauthorized replies.
Here's the URL of the webmail demo - please make sure your adblocker is disabled! https://cyrus.suite.wiki:81/jmap-demo-webmail/
It's installed in /usr/share/jmap-demo-webmail. Use "git diff" to see the minor changes.
[root@cyrus jmap-demo-webmail]# pwd /usr/share/jmap-demo-webmail [root@cyrus jmap-demo-webmail]# git diff diff --git a/app/state.js b/app/state.js index 82ec7a4..f1b5310 100644 --- a/app/state.js +++ b/app/state.js @@ -348,9 +348,9 @@ App.kbshortcuts var userPath = ( /k=([0-9a-f\-]+)/.exec( location.href ) || [ '', '' ] )[1]; JMAP.auth.didAuthenticate({ - username: 'user@example.com', - accessToken: 'password', - apiUrl: '/jmap/' + userPath, + username: 'test', + accessToken: 'wikisuite', + apiUrl: 'https://cyrus.suite.wiki/jmap', eventSourceUrl: '/events/' + userPath, uploadUrl: '/upload/' + userPath, downloadUrl: '/raw/' + userPath + '/{blobId}/{name}' diff --git a/index.html b/index.html index 330c622..1c7b9f6 100644 --- a/index.html +++ b/index.html @@ -10,7 +10,7 @@ </head> <body> <!-- Comment out the following line to talk to a real server --> -<script type="text/javascript" src="fixtures.js"></script> +<!-- script type="text/javascript" src="fixtures.js"></script --> <script type="text/javascript" src="libs/Overture.js"></script> <script type="text/javascript" src="libs/timezones-raw.js"></script> [root@cyrus jmap-demo-webmail]#
[root@cyrus ~]# curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" --user test:wikisuite -d '[["getCalendars", {}, "#1"]]' http://localhost/jmap/ [["calendars",{"accountId":"test","state":"15","list":[{"id":"Default","x-href":"/dav/calendars/user/test/Default","name":"personal","mayReadFreeBusy":true,"mayReadItems":true,"mayAddItems":true,"mayModifyItems":true,"mayRemoveItems":true,"mayRename":true,"mayDelete":true}],"notFound":null},"#1"]] [root@cyrus ~]#
[root@cyrus ~]# curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" --user test:wikisuite -d '[[ "getMailboxes", {}, "#0" ]]' http://localhost/jmap/ [["mailboxes",{"accountId":"test","state":"23","notFound":null,"list":[{"id":"23b8b283-54b2-4953-83b1-dddfdf50d1ab","name":"Inbox","mustBeOnlyMailbox":false,"mayReadItems":true,"mayAddItems":true,"mayRemoveItems":true,"mayCreateChild":true,"totalMessages":1,"unreadMessages":0,"totalThreads":1,"unreadThreads":0,"parentId":null,"mayRename":false,"mayDelete":false,"role":"inbox","sortOrder":1},{"id":"5e8d9e35-76a6-4a54-9bb4-e8625f908670","name":"Drafts","mustBeOnlyMailbox":false,"mayReadItems":true,"mayAddItems":true,"mayRemoveItems":true,"mayCreateChild":true,"totalMessages":1,"unreadMessages":1,"totalThreads":1,"unreadThreads":0,"parentId":null,"mayRename":true,"mayDelete":true,"role":null,"sortOrder":10},{"id":"3334d6fb-f621-4b7b-9634-93eb193023d2","name":"Trash","mustBeOnlyMailbox":false,"mayReadItems":true,"mayAddItems":true,"mayRemoveItems":true,"mayCreateChild":true,"totalMessages":0,"unreadMessages":0,"totalThreads":0,"unreadThreads":0,"parentId":null,"mayRename":true,"mayDelete":true,"role":null,"sortOrder":10}]},"#0"]] [root@cyrus ~]#
yum --enablerepo=egloo-clearos-devel install app-imap app-smtp
Optional: How to install Mail Forwarding on ClearOS
Automatic detection from email doesn't work but entering username, password and base URL works