tmail-flutter
tmail-flutter copied to clipboard
How to enable multi accounts?
Hello
Is there any way to enable multi-account support so I will be able to connect multiple JMAP accounts or so?
Thank you.
Do you mean on JMAP Server (and Login) with multiple JMAP Account (in this session). Or multiple Logins (on the same Server or different)?
The first one is really nice stalwart support Group and Lists and this is listed in the same JMAP-Session as different accounts.
{
"capabilities": {
"urn:ietf:params:jmap:core": {
"maxSizeUpload": 50000000,
"maxConcurrentUpload": 4,
"maxSizeRequest": 10000000,
"maxConcurrentRequests": 4,
"maxCallsInRequest": 16,
"maxObjectsInGet": 500,
"maxObjectsInSet": 500,
"collationAlgorithms": [
"i;ascii-numeric",
"i;ascii-casemap",
"i;unicode-casemap"
]
},
"urn:ietf:params:jmap:mail": {},
"urn:ietf:params:jmap:calendars": {},
"urn:ietf:params:jmap:calendars:parse": {},
"urn:ietf:params:jmap:contacts": {},
"urn:ietf:params:jmap:contacts:parse": {},
"urn:ietf:params:jmap:filenode": {},
"urn:ietf:params:jmap:principals": {},
"urn:ietf:params:jmap:principals:availability": {},
"urn:ietf:params:jmap:submission": {},
"urn:ietf:params:jmap:vacationresponse": {},
"urn:ietf:params:jmap:sieve": {
"implementation": "Stalwart v1.0.0"
},
"urn:ietf:params:jmap:blob": {},
"urn:ietf:params:jmap:quota": {},
"urn:ietf:params:jmap:websocket": {
"url": "wss://mail.example.org/jmap/ws",
"supportsPush": true
}
},
"accounts": {
"dk": {
"name": "[email protected]",
"isPersonal": true,
"isReadOnly": false,
"accountCapabilities": {
"urn:ietf:params:jmap:mail": {
"maxMailboxesPerEmail": null,
"maxMailboxDepth": 10,
"maxSizeMailboxName": 255,
"maxSizeAttachmentsPerEmail": 50000000,
"emailQuerySortOptions": [
"receivedAt",
"size",
"from",
"to",
"subject",
"sentAt",
"hasKeyword",
"allInThreadHaveKeyword",
"someInThreadHaveKeyword"
],
"mayCreateTopLevelMailbox": true
},
"urn:ietf:params:jmap:submission": {
"maxDelayedSend": 2592000,
"submissionExtensions": {
"FUTURERELEASE": [],
"SIZE": [],
"DSN": [],
"DELIVERYBY": [],
"MT-PRIORITY": [
"MIXER"
],
"REQUIRETLS": []
}
},
"urn:ietf:params:jmap:vacationresponse": {},
"urn:ietf:params:jmap:contacts": {
"maxAddressBooksPerCard": null,
"mayCreateAddressBook": true
},
"urn:ietf:params:jmap:contacts:parse": {},
"urn:ietf:params:jmap:calendars": {
"maxCalendarsPerEvent": null,
"minDateTime": "0001-01-01T00:00:00Z",
"maxDateTime": "65534-12-31T23:59:59Z",
"maxExpandedQueryDuration": "P52W1D",
"maxParticipantsPerEvent": 20,
"mayCreateCalendar": true
},
"urn:ietf:params:jmap:calendars:parse": {},
"urn:ietf:params:jmap:websocket": {},
"urn:ietf:params:jmap:sieve": {
"maxSizeScriptName": 512,
"maxSizeScript": 1048576,
"maxNumberScripts": 100,
"maxNumberRedirects": 1,
"sieveExtensions": [
"body",
"comparator-elbonia",
"comparator-i;ascii-casemap",
"comparator-i;ascii-numeric",
"comparator-i;octet",
"convert",
"copy",
"date",
"duplicate",
"editheader",
"enclose",
"encoded-character",
"enotify",
"envelope",
"envelope-deliverby",
"envelope-dsn",
"environment",
"ereject",
"extlists",
"extracttext",
"fcc",
"fileinto",
"foreverypart",
"ihave",
"imap4flags",
"imapsieve",
"include",
"index",
"mailbox",
"mailboxid",
"mboxmetadata",
"mime",
"redirect-deliverby",
"redirect-dsn",
"regex",
"reject",
"relational",
"replace",
"servermetadata",
"spamtest",
"spamtestplus",
"special-use",
"subaddress",
"vacation",
"vacation-seconds",
"variables",
"virustest"
],
"notificationMethods": [
"mailto"
],
"externalLists": null
},
"urn:ietf:params:jmap:blob": {
"maxSizeBlobSet": 7499488,
"maxDataSources": 16,
"supportedTypeNames": [
"Email",
"Thread",
"SieveScript"
],
"supportedDigestAlgorithms": [
"sha",
"sha-256",
"sha-512"
]
},
"urn:ietf:params:jmap:quota": {},
"urn:ietf:params:jmap:principals": {
"currentUserPrincipalId": "dk"
},
"urn:ietf:params:jmap:principals:availability": {
"maxAvailabilityDuration": "P52W1D"
},
"urn:ietf:params:jmap:filenode": {
"maxFileNodeDepth": null,
"maxSizeFileNodeName": 255,
"fileNodeQuerySortOptions": [],
"mayCreateTopLevelFileNode": true
}
}
},
"di": {
"name": "extra-group",
"isPersonal": false,
"isReadOnly": false,
"accountCapabilities": {
"urn:ietf:params:jmap:websocket": {},
"urn:ietf:params:jmap:principals": {
"currentUserPrincipalId": "di"
},
"urn:ietf:params:jmap:principals:availability": {
"maxAvailabilityDuration": "P52W1D"
}
}
}
},
"primaryAccounts": {
"urn:ietf:params:jmap:mail": "dk",
"urn:ietf:params:jmap:submission": "dk",
"urn:ietf:params:jmap:vacationresponse": "dk",
"urn:ietf:params:jmap:contacts": "dk",
"urn:ietf:params:jmap:contacts:parse": "dk",
"urn:ietf:params:jmap:calendars": "dk",
"urn:ietf:params:jmap:calendars:parse": "dk",
"urn:ietf:params:jmap:websocket": "dk",
"urn:ietf:params:jmap:sieve": "dk",
"urn:ietf:params:jmap:blob": "dk",
"urn:ietf:params:jmap:quota": "dk",
"urn:ietf:params:jmap:principals": "dk",
"urn:ietf:params:jmap:principals:availability": "dk",
"urn:ietf:params:jmap:filenode": "dk"
},
"username": "[email protected]",
"apiUrl": "https://mail.example.org/jmap/",
"downloadUrl": "https://mail.example.org/jmap/download/{accountId}/{blobId}/{name}?accept={type}",
"uploadUrl": "https://mail.example.org/jmap/upload/{accountId}/",
"eventSourceUrl": "https://mail.example.org/jmap/eventsource/?types={types}&closeafter={closeafter}&ping={ping}",
"state": "e90d64d"
}
here in line 179 the account with the id di and name extra-group