New IMAP protocol: JMAP

Forum for things that doesn't really have anything to do with hMailServer. Such as php.ini, beer, etc etc.
Post Reply
palinka
Senior user
Senior user
Posts: 2082
Joined: 2017-09-12 17:57

New IMAP protocol: JMAP

Post by palinka » 2019-12-28 14:50

https://jmap.io/

Anyone seen this? Looks interesting. Especially since it runs over http, which I see as a big advantage in preventing password guessing attacks. That's a strategy I already employ via activesync.

User avatar
Dravion
Senior user
Senior user
Posts: 1688
Joined: 2015-09-26 11:50
Location: Germany
Contact:

Re: New IMAP protocol: JMAP

Post by Dravion » 2019-12-28 15:27

palinka wrote:
2019-12-28 14:50
https://jmap.io/

Anyone seen this? Looks interesting. Especially since it runs over http, which I see as a big advantage in preventing password guessing attacks. That's a strategy I already employ via activesync.
The JSON Meta Application Protocol (JMAP)
C. Newman ISSN: 2070-1721 Oracle

I don't know if JSON is the Answer to IMAPv4.1 Problems.
It's just another way to fetch data

This (JMAP)
let index = -1
let total = 0
let added = []
let removed = []
let collapseThreads = args.collapseThreads
let uptoHasBeenFound = false

# sort flagged messages/threads first.
let isMutable = sort.isMutable()

let isOnThreadUnreadOrFlagged = sort.isOnThreadUnreadOrFlagged()
let SeenExemplar = collapseThreads ? new Set() : null
let SeenOldExemplar = collapseThreads ? new Set() : null

foreach listMsg in messageList {

let isNewExemplar = false
let isOldExemplar = false

let isNew = ( listMsg.uid > args.highestUID )
let isChanged = ( listMsg.updatedModSeq > args.highestModSeq )
let isDeleted = ( listMsg.deleted != null )
let wasDeleted = ( isDeleted && !isChanged )

# Is this message the current exemplar?
if !isDeleted &&
( !collapseThreads || !SeenExemplar{ listMsg.threadId } ) {
isNewExemplar = true
index += 1
total += 1
if collapseThreads {
SeenExemplar.set( listMsg.threadId )
}
}
Instead of something like this (current IMAPv4.1)
A login donaldduck@mymail.com mypassword
A OK LOGIN completed
A status INBOX
A select INBOX
. fetch 1 rfc822.body

Return-Path: mickymouse@disney.com
Delivered-To: donaldduck@mymail.com
Received: from [194.241.203.202] (CAMELOT [194.241.203.202])
by smtp.disney.com with ESMTPSA
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128)
; Tue, 13 Jun 2017 12:52:39 +0200
Reply-To: mickymouse@disney.com
To: donaldduck@mymail.com
From: Dravion Smith <mickymouse@disney.com>

Post Reply