Hello,
Trying to get all e-mails from a given contact, I first fetch the contact e-mail addresses and then issue a JMAP-Email query like this:
[
['Email/query', {
accountId,
filter: {
operator: "OR",
conditions: [
{from: "user@xxxxxxxxxxx"},
{to: "user@xxxxxxxxxxx"},
{cc: "user@xxxxxxxxxxx"},
{bcc: "user@xxxxxxxxxxx"}
]
}
}, '0'],
['Email/get', {
accountId,
'#ids': { resultOf: '0', name: 'Email/query', path:
'/ids' }
}, '1']
]
However, I receive an internal server error:
{
"methodResponses": [
["error",{"type":"serverFail","description":"Internal
Error"},"0"],
["error",{"type":"resultReference"},"1"]
],
"sessionState":"0"
}
And the Cyrus logs are showing:
login: localhost [127.0.0.1] mildred@xxxxxxxxxx Basic User logged
in
SESSIONID=<cyrus-1637702083-186327-2-17789273766385461114>
jmap_openmbox(example.org!user.mildred.#jmap): Mailbox does not
exist
jmap: guidsearch_run: can't begin search for
example.org!user.mildred
localhost [127.0.0.1] as "mildred@xxxxxxxxxxx" with "Mozilla/5.0
(X11; Fedora; Linux x86_64; rv:94.0) Gecko/20100101 Firefox/94.0"
via
SESSIONID=<cyrus-1637702083-186327-2-17789273766385461114>;
"POST /jmap/ HTTP/1.1" (origin=http://localhost:5000;
referer=http://localhost:5000/; auth=Basic;
jmap=Email/query,Email/get) => "HTTP/1.1 200 OK" (allow-origin)
[timing: cmd=0.038068 net=0.000019 total=0.038087]
Looking at the spool directory in /var/spool/cyrus/domain/example.org/user/mildred/ I don't see the #jmap mailbox, however I see #calendars #addressbooks #notifications and IMAP folders. Why is #jmap absent, and am I missing something in the configuration to get this #jmap mailbox created?
I already accessed the account via a regular IMAP client. I'm
playing for weeks with JMAP and it's the first time I see this
errror... although it's true that I never uploaded a file via JMAP
yet. (#jmap seems to be the jmapuploadfolder
in imapd.conf
default values)
The server configuration contains:
autocreate_quota: 0
autocreate_post: 1
autocreate_inbox_folders: Junk | Trash | Archive | Drafts | Sent
#autocreate_sieve_folders:
autocreate_sieve_script: /etc/cyrus/default.sieve
autocreate_subscribe_folders: Junk | Trash | Archive | Drafts |
Sent
autocreate_subscribe_sharedfolders_all: 1
# https://tools.ietf.org/html/rfc6154
xlist-junk: Junk
xlist-trash: Trash
xlist-archive: Archive
xlist-drafts: Drafts
xlist-sent: Sent
What should I do to have #jmap (auto-)created when needed?
Thank you