stalwartlabs / mail-server

Secure & Modern All-in-One Mail Server (IMAP, JMAP, POP3, SMTP)
https://stalw.art
5.29k stars 222 forks source link

[bug]: Can't sync with iOS 18 #765

Closed yannikbloscheck closed 2 months ago

yannikbloscheck commented 2 months ago

What happened?

After updating to iOS 18 the IMAP sync in the Apple Mail app with the Stalwart doesn't work anymore. The sync just starts, but it never finishes and nothing on the devices seems to get actually synced. Nothing else has changed to before. This most likely could be a bug or weird behaviour in the Apple Mail app, but there also could maybe be some special issue with Stalwart. I can't really tell. The issue #617 by somebody else from during the iOS 18 beta phase could be related.

How can we reproduce the problem?

I can reproduce the problem by doing the following steps: Open the Apple Mail app with an under iOS 17 working mail account after updating to version 18 of iOS

Version

v0.9.4

What database are you using?

RocksDB

What blob storage are you using?

Filesystem

Where is your directory located?

Internal

What operating system are you using?

Linux

Relevant log output

(There are two accounts set up on the device)

2024-09-17T07:57:01Z INFO IMAP connection started (imap.connection-start) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54842
2024-09-17T07:57:01Z INFO IMAP connection started (imap.connection-start) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54843
2024-09-17T07:57:06Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54842, size = 124, contents = "A1 AUTHENTICATE PLAIN XXXXXXXXXXXXXXXXX==\r\n"
2024-09-17T07:57:06Z INFO Authentication successful (auth.success) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54842, accountName = "account1", accountId = 0, type = Superuser
2024-09-17T07:57:06Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54842, size = 348, contents = "A1 OK [CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE SASL-IR LITERAL+ ID UTF8=ACCEPT IDLE NAMESPACE CHILDREN MULTIAPPEND BINARY UNSELECT ACL UIDPLUS ESEARCH WITHIN SEARCHRES SORT THREAD=REFERENCES LIST-EXTENDED ESORT SORT=DISPLAY SPECIAL-USE CREATE-SPECIAL-USE MOVE CONDSTORE QRESYNC UNAUTHENTICATE STATUS=SIZE OBJECTID PREVIEW] Authentication successful\r\n"
2024-09-17T07:57:06Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54842, size = 133, contents = "A2 ID ("name" "com.apple.email.maild" "version" "3818.100.11.2.3" "os" "iPadOS" "os-version" "18.0 (22A3354)" "vendor" "Apple Inc")\r\n"
2024-09-17T07:57:06Z DEBUG IMAP ID command (imap.id) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54842, elapsed = 0ms
2024-09-17T07:57:06Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54842, size = 133, contents = "* ID ("name" "Stalwart IMAP" "version" "0.9.4" "vendor" "Stalwart Labs Ltd." "support-url" "https://stalw.art")\r\nA2 OK ID completed\r\n"
2024-09-17T07:57:06Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54843, size = 120, contents = "A1 AUTHENTICATE PLAIN XXXXXXXXXXXXXXXXX\r\n"
2024-09-17T07:57:06Z INFO Authentication successful (auth.success) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54843, accountName = "account2", accountId = 1, type = Individual
2024-09-17T07:57:06Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54843, size = 348, contents = "A1 OK [CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE SASL-IR LITERAL+ ID UTF8=ACCEPT IDLE NAMESPACE CHILDREN MULTIAPPEND BINARY UNSELECT ACL UIDPLUS ESEARCH WITHIN SEARCHRES SORT THREAD=REFERENCES LIST-EXTENDED ESORT SORT=DISPLAY SPECIAL-USE CREATE-SPECIAL-USE MOVE CONDSTORE QRESYNC UNAUTHENTICATE STATUS=SIZE OBJECTID PREVIEW] Authentication successful\r\n"
2024-09-17T07:57:06Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54842, size = 51, contents = "A3 NAMESPACE\r\nA4 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
2024-09-17T07:57:06Z DEBUG IMAP NAMESPACE command (imap.namespace) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54842, elapsed = 0ms
2024-09-17T07:57:06Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54842, size = 59, contents = "* NAMESPACE (("" "/")) NIL NIL\r\nA3 OK NAMESPACE completed\r\n"
2024-09-17T07:57:06Z DEBUG IMAP LIST command (imap.list) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54842, details = ["Archive", "Deleted Items", "Drafts", "INBOX", "Junk Mail", "Sent Items"], elapsed = 0ms
2024-09-17T07:57:06Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54842, size = 203, contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST (\\Sent) "/" "Sent Items"\r\nA4 OK LIST completed\r\n"
2024-09-17T07:57:07Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54843, size = 133, contents = "A2 ID ("name" "com.apple.email.maild" "version" "3818.100.11.2.3" "os" "iPadOS" "os-version" "18.0 (22A3354)" "vendor" "Apple Inc")\r\n"
2024-09-17T07:57:07Z DEBUG IMAP ID command (imap.id) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54843, elapsed = 0ms
2024-09-17T07:57:07Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54843, size = 133, contents = "* ID ("name" "Stalwart IMAP" "version" "0.9.4" "vendor" "Stalwart Labs Ltd." "support-url" "https://stalw.art")\r\nA2 OK ID completed\r\n"
2024-09-17T07:57:07Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54842, size = 31, contents = "A5 SELECT "INBOX" (CONDSTORE)\r\n"
2024-09-17T07:57:07Z DEBUG IMAP SELECT command (imap.select) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54842, mailboxName = "INBOX", accountId = 0, mailboxId = 0, total = 0, uidNext = 1, uidValidity = 86135422, elapsed = 0ms
2024-09-17T07:57:07Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54842, size = 367, contents = "* 0 EXISTS\r\n* FLAGS (\\Answered \\Flagged \\Deleted \\Seen \\Draft)\r\n* 0 RECENT\r\n* OK [PERMANENTFLAGS (\\Deleted \\Seen \\Answered \\Flagged \\Draft \\*)] All allowed\r\n* OK [UIDVALIDITY 86135422] UIDs valid\r\n* OK [UIDNEXT 1] Next predicted UID\r\n* OK [HIGHESTMODSEQ 197652299435217073] Highest Modseq\r\n* OK [MAILBOXID (a)] Unique Mailbox ID\r\nA5 OK [READ-WRITE] SELECT completed\r\n"
2024-09-17T07:57:07Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54842, size = 9, contents = "A7 IDLE\r\n"
2024-09-17T07:57:07Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54842, size = 32, contents = "+ Idling, send 'DONE' to stop.\r\n"
2024-09-17T07:57:07Z DEBUG IMAP IDLE start (imap.idle-start) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54842, elapsed = 0ms
2024-09-17T07:57:07Z TRACE Network connection closed (network.closed) details = IMAP connection closed by client., id = "A7"
2024-09-17T07:57:07Z INFO IMAP connection ended (imap.connection-end) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54842, elapsed = 5856ms
2024-09-17T07:57:07Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54843, size = 51, contents = "A3 NAMESPACE\r\nA4 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
2024-09-17T07:57:07Z DEBUG IMAP NAMESPACE command (imap.namespace) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54843, elapsed = 0ms
2024-09-17T07:57:07Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54843, size = 59, contents = "* NAMESPACE (("" "/")) NIL NIL\r\nA3 OK NAMESPACE completed\r\n"
2024-09-17T07:57:07Z DEBUG IMAP LIST command (imap.list) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54843, details = ["Archive", "Deleted Items", "Drafts", "INBOX", "Junk Mail", "Sent Items"], elapsed = 0ms
2024-09-17T07:57:07Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54843, size = 203, contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST (\\Sent) "/" "Sent Items"\r\nA4 OK LIST completed\r\n"
2024-09-17T07:57:07Z TRACE Network connection closed (network.closed) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54843, causedBy = crates/imap/src/core/session.rs:73
2024-09-17T07:57:07Z INFO IMAP connection ended (imap.connection-end) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54843, elapsed = 5895ms
2024-09-17T07:57:07Z DEBUG TLS handshake error (tls.handshake-error) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54880, reason = "tls handshake eof"
2024-09-17T07:57:07Z INFO IMAP connection started (imap.connection-start) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882
2024-09-17T07:57:07Z DEBUG TLS handshake error (tls.handshake-error) listenerId = "imaptls", localPort = 993, remoteIp = 94.31.90.213, remotePort = 57699, reason = "tls handshake eof"
2024-09-17T07:57:07Z INFO IMAP connection started (imap.connection-start) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883
2024-09-17T07:57:07Z DEBUG TLS handshake error (tls.handshake-error) listenerId = "imaptls", localPort = 993, remoteIp = 94.31.90.213, remotePort = 63790, reason = "tls handshake eof"
2024-09-17T07:57:07Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, size = 124, contents = "A1 AUTHENTICATE PLAIN XXXXXXXXXXXXXXXXX==\r\n"
2024-09-17T07:57:07Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, size = 120, contents = "A1 AUTHENTICATE PLAIN XXXXXXXXXXXXXXXXX\r\n"
2024-09-17T07:57:07Z INFO Authentication successful (auth.success) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, accountName = "account2", accountId = 1, type = Individual
2024-09-17T07:57:07Z INFO Authentication successful (auth.success) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, accountName = "account1", accountId = 0, type = Superuser
2024-09-17T07:57:07Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, size = 348, contents = "A1 OK [CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE SASL-IR LITERAL+ ID UTF8=ACCEPT IDLE NAMESPACE CHILDREN MULTIAPPEND BINARY UNSELECT ACL UIDPLUS ESEARCH WITHIN SEARCHRES SORT THREAD=REFERENCES LIST-EXTENDED ESORT SORT=DISPLAY SPECIAL-USE CREATE-SPECIAL-USE MOVE CONDSTORE QRESYNC UNAUTHENTICATE STATUS=SIZE OBJECTID PREVIEW] Authentication successful\r\n"
2024-09-17T07:57:07Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, size = 348, contents = "A1 OK [CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE SASL-IR LITERAL+ ID UTF8=ACCEPT IDLE NAMESPACE CHILDREN MULTIAPPEND BINARY UNSELECT ACL UIDPLUS ESEARCH WITHIN SEARCHRES SORT THREAD=REFERENCES LIST-EXTENDED ESORT SORT=DISPLAY SPECIAL-USE CREATE-SPECIAL-USE MOVE CONDSTORE QRESYNC UNAUTHENTICATE STATUS=SIZE OBJECTID PREVIEW] Authentication successful\r\n"
2024-09-17T07:57:07Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, size = 133, contents = "A2 ID ("name" "com.apple.email.maild" "version" "3818.100.11.2.3" "os" "iPadOS" "os-version" "18.0 (22A3354)" "vendor" "Apple Inc")\r\n"
2024-09-17T07:57:07Z DEBUG IMAP ID command (imap.id) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, elapsed = 0ms
2024-09-17T07:57:07Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, size = 133, contents = "* ID ("name" "Stalwart IMAP" "version" "0.9.4" "vendor" "Stalwart Labs Ltd." "support-url" "https://stalw.art")\r\nA2 OK ID completed\r\n"
2024-09-17T07:57:07Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, size = 133, contents = "A2 ID ("name" "com.apple.email.maild" "version" "3818.100.11.2.3" "os" "iPadOS" "os-version" "18.0 (22A3354)" "vendor" "Apple Inc")\r\n"
2024-09-17T07:57:07Z DEBUG IMAP ID command (imap.id) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, elapsed = 0ms
2024-09-17T07:57:07Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, size = 133, contents = "* ID ("name" "Stalwart IMAP" "version" "0.9.4" "vendor" "Stalwart Labs Ltd." "support-url" "https://stalw.art")\r\nA2 OK ID completed\r\n"
2024-09-17T07:57:07Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, size = 51, contents = "A3 NAMESPACE\r\nA4 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
2024-09-17T07:57:07Z DEBUG IMAP NAMESPACE command (imap.namespace) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, elapsed = 0ms
2024-09-17T07:57:07Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, size = 59, contents = "* NAMESPACE (("" "/")) NIL NIL\r\nA3 OK NAMESPACE completed\r\n"
2024-09-17T07:57:07Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, size = 51, contents = "A3 NAMESPACE\r\nA4 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
2024-09-17T07:57:07Z DEBUG IMAP NAMESPACE command (imap.namespace) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, elapsed = 0ms
2024-09-17T07:57:07Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, size = 59, contents = "* NAMESPACE (("" "/")) NIL NIL\r\nA3 OK NAMESPACE completed\r\n"
2024-09-17T07:57:07Z DEBUG IMAP LIST command (imap.list) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, details = ["Archive", "Deleted Items", "Drafts", "INBOX", "Junk Mail", "Sent Items"], elapsed = 0ms
2024-09-17T07:57:07Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, size = 203, contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST (\\Sent) "/" "Sent Items"\r\nA4 OK LIST completed\r\n"
2024-09-17T07:57:07Z DEBUG IMAP LIST command (imap.list) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, details = ["Archive", "Deleted Items", "Drafts", "INBOX", "Junk Mail", "Sent Items"], elapsed = 0ms
2024-09-17T07:57:07Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, size = 203, contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST (\\Sent) "/" "Sent Items"\r\nA4 OK LIST completed\r\n"
2024-09-17T07:57:07Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, size = 31, contents = "A5 SELECT "INBOX" (CONDSTORE)\r\n"
2024-09-17T07:57:07Z DEBUG IMAP SELECT command (imap.select) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, mailboxName = "INBOX", accountId = 1, mailboxId = 0, total = 0, uidNext = 1, uidValidity = 511884946, elapsed = 0ms
2024-09-17T07:57:07Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, size = 374, contents = "* 0 EXISTS\r\n* FLAGS (\\Answered \\Flagged \\Deleted \\Seen \\Draft)\r\n* 0 RECENT\r\n* OK [PERMANENTFLAGS (\\Deleted \\Seen \\Answered \\Flagged \\Draft \\*)] All allowed\r\n* OK [UIDVALIDITY 511884946] UIDs valid\r\n* OK [UIDNEXT 1] Next predicted UID\r\n* OK [HIGHESTMODSEQ 197717848634691612] Highest Modseq\r\n* OK [MAILBOXID (eaaaaaa)] Unique Mailbox ID\r\nA5 OK [READ-WRITE] SELECT completed\r\n"
2024-09-17T07:57:07Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, size = 31, contents = "A5 SELECT "INBOX" (CONDSTORE)\r\n"
2024-09-17T07:57:07Z DEBUG IMAP SELECT command (imap.select) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, mailboxName = "INBOX", accountId = 0, mailboxId = 0, total = 0, uidNext = 1, uidValidity = 86135422, elapsed = 0ms
2024-09-17T07:57:07Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, size = 367, contents = "* 0 EXISTS\r\n* FLAGS (\\Answered \\Flagged \\Deleted \\Seen \\Draft)\r\n* 0 RECENT\r\n* OK [PERMANENTFLAGS (\\Deleted \\Seen \\Answered \\Flagged \\Draft \\*)] All allowed\r\n* OK [UIDVALIDITY 86135422] UIDs valid\r\n* OK [UIDNEXT 1] Next predicted UID\r\n* OK [HIGHESTMODSEQ 197652299435217073] Highest Modseq\r\n* OK [MAILBOXID (a)] Unique Mailbox ID\r\nA5 OK [READ-WRITE] SELECT completed\r\n"
2024-09-17T07:57:08Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, size = 9, contents = "A7 IDLE\r\n"
2024-09-17T07:57:08Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, size = 32, contents = "+ Idling, send 'DONE' to stop.\r\n"
2024-09-17T07:57:08Z DEBUG IMAP IDLE start (imap.idle-start) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, elapsed = 0ms
2024-09-17T07:57:08Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, size = 9, contents = "A7 IDLE\r\n"
2024-09-17T07:57:08Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, size = 32, contents = "+ Idling, send 'DONE' to stop.\r\n"
2024-09-17T07:57:08Z DEBUG IMAP IDLE start (imap.idle-start) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, elapsed = 0ms
2024-09-17T07:57:08Z DEBUG IMAP IDLE stop (imap.idle-stop) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, elapsed = 63ms
2024-09-17T07:57:08Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, size = 22, contents = "A7 OK IDLE completed\r\n"
2024-09-17T07:57:08Z DEBUG IMAP IDLE stop (imap.idle-stop) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, elapsed = 63ms
2024-09-17T07:57:08Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, size = 22, contents = "A7 OK IDLE completed\r\n"
2024-09-17T07:57:08Z INFO IMAP connection started (imap.connection-start) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54889
2024-09-17T07:57:08Z DEBUG TLS handshake error (tls.handshake-error) listenerId = "imaptls", localPort = 993, remoteIp = 94.31.90.213, remotePort = 57701, reason = "tls handshake eof"
2024-09-17T07:57:08Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54889, size = 124, contents = "B1 AUTHENTICATE PLAIN XXXXXXXXXXXXXXXXX==\r\n"
2024-09-17T07:57:08Z INFO Authentication successful (auth.success) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54889, accountName = "account1", accountId = 0, type = Superuser
2024-09-17T07:57:08Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54889, size = 348, contents = "B1 OK [CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE SASL-IR LITERAL+ ID UTF8=ACCEPT IDLE NAMESPACE CHILDREN MULTIAPPEND BINARY UNSELECT ACL UIDPLUS ESEARCH WITHIN SEARCHRES SORT THREAD=REFERENCES LIST-EXTENDED ESORT SORT=DISPLAY SPECIAL-USE CREATE-SPECIAL-USE MOVE CONDSTORE QRESYNC UNAUTHENTICATE STATUS=SIZE OBJECTID PREVIEW] Authentication successful\r\n"
2024-09-17T07:57:08Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54889, size = 133, contents = "B2 ID ("name" "com.apple.email.maild" "version" "3818.100.11.2.3" "os" "iPadOS" "os-version" "18.0 (22A3354)" "vendor" "Apple Inc")\r\n"
2024-09-17T07:57:08Z DEBUG IMAP ID command (imap.id) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54889, elapsed = 0ms
2024-09-17T07:57:08Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54889, size = 133, contents = "* ID ("name" "Stalwart IMAP" "version" "0.9.4" "vendor" "Stalwart Labs Ltd." "support-url" "https://stalw.art")\r\nB2 OK ID completed\r\n"
2024-09-17T07:57:08Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54889, size = 33, contents = "B3 SELECT "Archive" (CONDSTORE)\r\n"
2024-09-17T07:57:08Z DEBUG IMAP SELECT command (imap.select) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54889, mailboxName = "Archive", accountId = 0, mailboxId = 5, total = 23894, uidNext = 98285, uidValidity = 1891639580, elapsed = 0ms
2024-09-17T07:57:08Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54889, size = 377, contents = "* 23894 EXISTS\r\n* FLAGS (\\Answered \\Flagged \\Deleted \\Seen \\Draft)\r\n* 0 RECENT\r\n* OK [PERMANENTFLAGS (\\Deleted \\Seen \\Answered \\Flagged \\Draft \\*)] All allowed\r\n* OK [UIDVALIDITY 1891639580] UIDs valid\r\n* OK [UIDNEXT 98285] Next predicted UID\r\n* OK [HIGHESTMODSEQ 197652299435217073] Highest Modseq\r\n* OK [MAILBOXID (f)] Unique Mailbox ID\r\nB3 OK [READ-WRITE] SELECT completed\r\n"
2024-09-17T07:57:08Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54889, size = 9, contents = "B5 IDLE\r\n"
2024-09-17T07:57:08Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54889, size = 32, contents = "+ Idling, send 'DONE' to stop.\r\n"
2024-09-17T07:57:08Z DEBUG IMAP IDLE start (imap.idle-start) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54889, elapsed = 0ms
2024-09-17T07:57:08Z DEBUG IMAP IDLE stop (imap.idle-stop) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54889, elapsed = 164ms
2024-09-17T07:57:08Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54889, size = 22, contents = "B5 OK IDLE completed\r\n"
2024-09-17T07:57:21Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, size = 38, contents = "A17 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
2024-09-17T07:57:21Z TRACE Raw IMAP input received (imap.raw-input) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, size = 38, contents = "A17 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
2024-09-17T07:57:21Z DEBUG IMAP LIST command (imap.list) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, details = ["Archive", "Deleted Items", "Drafts", "INBOX", "Junk Mail", "Sent Items"], elapsed = 0ms
2024-09-17T07:57:21Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54882, size = 204, contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST (\\Sent) "/" "Sent Items"\r\nA17 OK LIST completed\r\n"
2024-09-17T07:57:21Z DEBUG IMAP LIST command (imap.list) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, details = ["Archive", "Deleted Items", "Drafts", "INBOX", "Junk Mail", "Sent Items"], elapsed = 0ms
2024-09-17T07:57:21Z TRACE Raw IMAP output sent (imap.raw-output) listenerId = "imaptls", localPort = 993, remoteIp = 0000:0000:0000:0000:0000:0000:0000:0000, remotePort = 54883, size = 204, contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST (\\Sent) "/" "Sent Items"\r\nA17 OK LIST completed\r\n"

Code of Conduct

NathanHbt commented 2 months ago

Same problem here.

mdecimus commented 2 months ago

I don't see any errors in the logs. Does it work with other IMAP servers? (except iCloud)

yannikbloscheck commented 2 months ago

Yes, it works with other IMAP servers (iCloud excluded)

NathanHbt commented 2 months ago

The connection doesn’t happen at all. It doesn’t appear in the logs. https://github.com/user-attachments/assets/0bb0d506-2e4d-4806-950e-396b310352df

NathanHbt commented 2 months ago

I don’t know if this will help, but here is the error after some time.

IMG_2145

mdecimus commented 2 months ago

I don't have access to iOS 18 at the moment to test this. Since there are no errors in the logs provided above, it would help me if you can obtain the raw logs of Apple Mail 18 accessing an IMAP server that it has no issues with.

yannikbloscheck commented 2 months ago

Sadly, I don't have access to any other IMAP servers where I can actually view the logs. If you have one to which I could connect for testing purposes, you could sent me the details (via Discord) and I could connect to it from my iOS 18 device.

NathanHbt commented 2 months ago

From my research online, I see that this issue has been very common since the iOS 18 BETA (https://forums.developer.apple.com/forums/thread/732409). I haven’t yet found a page offering a viable fix.

yannikbloscheck commented 2 months ago

From my research online, I see that this issue has been very common since the iOS 18 BETA (https://forums.developer.apple.com/forums/thread/732409). I haven’t yet found a page offering a viable fix.

That seems to be only about self-signed certificates though and at least I'm using one from Let's Encrypt

yannikbloscheck commented 2 months ago

Everything I can find hints at it being a somewhat general problem with some IMAP servers in iOS 18. But so far there isn't any real pattern to find. It only seems to be a problem for some accounts/IMAP servers and not always.

mdecimus commented 2 months ago

Sadly, I don't have access to any other IMAP servers where I can actually view the logs. If you have one to which I could connect for testing purposes, you could sent me the details (via Discord) and I could connect to it from my iOS 18 device.

What I need is to take a look at a successful sync of Apple Mail with an IMAP server to hopefully find out what is missing or breaking sync. This is just to help me speed up troubleshooting, otherwise I'll upgrade to iOS 18 and look into this next week.

sinclairday commented 2 months ago

"Network error (POSIX 96)" from the screenshot might map down to this:

/// No message available on STREAM. case ENODATA = 96

https://github.com/swiftlang/swift/blob/main/stdlib/public/Platform/POSIXError.swift

fallenhitokiri commented 2 months ago

I am running into the same issue. My server is setup to use certificates from Let's Encrypt.

I just tried Airmail on my iOS 18 device on which Mail.app fails and it seems to work.

update: the directory Airmail creates to manage message state is fetched and shown in Mail.apps sidebar.

xyzst commented 2 months ago

2024-09-17T07:57:08Z DEBUG TLS handshake error (tls.handshake-error) listenerId = "imaptls", localPort = 993, remoteIp = 94.31.90.213, remotePort = 57701, reason = "tls handshake eof"

2 possible causes:

  1. Your mail server is configured with self signed cert, and Apple Mail client is rejecting connection (previously mentioned by @NathanHbt)
  2. Mismatch between client (macOS or iOS Mail app) and server (Stalwart) cipher suites. Maybe Apple dropped support of certain cipher suites in latest update?

You already mentioned your mail server uses a Let’s Encrypt issued certificate. So, could be the latter.

Can you share the acceptable cipher suites on your client and the server?

sirrkitt commented 2 months ago

This is the same issue I was having on the iOS 18 betas. I've submitted multiple feedback tickets with Apple but haven't had any luck.

I am able to sign in and the Apple Mail application is able to pull in my folders but is unable to download any of the messages or see the Inbox.

 2024-09-10T10:16:37Z TRACE Network connection closed (network.closed)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62399
         causedBy = crates/imap/src/core/session.rs:73
 2024-09-10T10:16:37Z INFO IMAP connection ended (imap.connection-end)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62399
         elapsed = 189209ms
 2024-09-10T10:16:37Z INFO IMAP connection started (imap.connection-start)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62465
 2024-09-10T10:16:37Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62465
         size = 13
         contents = "A1 STARTTLS\r\n"
 2024-09-10T10:16:37Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62465
         size = 33
         contents = "A1 OK Begin TLS negotiation now\r\n"
 2024-09-10T10:16:37Z INFO IMAP connection started (imap.connection-start)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62468
 2024-09-10T10:16:37Z INFO TLS handshake (tls.handshake)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62465
         listenerId = "imap"
         version = "TLSv1_3"
         details = "TLS13_AES_128_GCM_SHA256"
 2024-09-10T10:16:37Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62468
         size = 72
         contents = "A1 AUTHENTICATE PLAIN <password>=\r\n"
 2024-09-10T10:16:37Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62465
         size = 15
         contents = "A2 CAPABILITY\r\n"
 2024-09-10T10:16:37Z DEBUG IMAP CAPABILITIES command (imap.capabilities)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62465
         tls = true
         strict = true
         elapsed = 0ms
 2024-09-10T10:16:37Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62465
         size = 129
         contents = "* CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE SASL-IR LITERAL+ ID UTF8=ACCEPT AUTH=OAUTHBEARER AUTH=PLAIN\r\nA2 OK CAPABILITY completed\r\n"
 2024-09-10T10:16:37Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:37Z INFO Authentication successful (auth.success)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62468
         accountName = "another_account@mydomain"
         accountId = 5
         type = Individual
 2024-09-10T10:16:37Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:37Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:37Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:37Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:37Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62468
         size = 348
         contents = "A1 OK [CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE SASL-IR LITERAL+ ID UTF8=ACCEPT IDLE NAMESPACE CHILDREN MULTIAPPEND BINARY UNSELECT ACL UIDPLUS ESEARCH WITHIN SEARCHRES SORT THREAD=REFERENCES LIST-EXTENDED ESORT SORT=DISPLAY SPECIAL-USE CREATE-SPECIAL-USE MOVE CONDSTORE QRESYNC UNAUTHENTICATE STATUS=SIZE OBJECTID PREVIEW] Authentication successful\r\n"
 2024-09-10T10:16:37Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62465
         size = 72
         contents = "A3 AUTHENTICATE PLAIN <password stuff>\r\n"
 2024-09-10T10:16:37Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62468
         size = 130
         contents = "A2 ID ("name" "com.apple.email.maild" "version" "3818.100.11.2.3" "os" "iOS" "os-version" "18.0 (22A3354)" "vendor" "Apple Inc")\r\n"
 2024-09-10T10:16:37Z DEBUG IMAP ID command (imap.id)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62468
         elapsed = 0ms
 2024-09-10T10:16:37Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62468
         size = 133
         contents = "* ID ("name" "Stalwart IMAP" "version" "0.9.4" "vendor" "Stalwart Labs Ltd." "support-url" "https://stalw.art")\r\nA2 OK ID completed\r\n"
 2024-09-10T10:16:37Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:37Z INFO Authentication successful (auth.success)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62465
         accountName = "account@mydomain"
         accountId = 3
         type = Individual
 2024-09-10T10:16:37Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:37Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:37Z TRACE Network connection closed (network.closed)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62468
         causedBy = crates/imap/src/core/session.rs:73
 2024-09-10T10:16:37Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:37Z INFO IMAP connection ended (imap.connection-end)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62468
         elapsed = 154ms
 2024-09-10T10:16:37Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62465
         size = 348
         contents = "A3 OK [CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE SASL-IR LITERAL+ ID UTF8=ACCEPT IDLE NAMESPACE CHILDREN MULTIAPPEND BINARY UNSELECT ACL UIDPLUS ESEARCH WITHIN SEARCHRES SORT THREAD=REFERENCES LIST-EXTENDED ESORT SORT=DISPLAY SPECIAL-USE CREATE-SPECIAL-USE MOVE CONDSTORE QRESYNC UNAUTHENTICATE STATUS=SIZE OBJECTID PREVIEW] Authentication successful\r\n"
 2024-09-10T10:16:37Z TRACE Network connection closed (network.closed)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62465
         causedBy = crates/imap/src/core/session.rs:73
 2024-09-10T10:16:37Z INFO IMAP connection ended (imap.connection-end)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62465
         elapsed = 175ms
 2024-09-10T10:16:37Z INFO IMAP connection started (imap.connection-start)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
 2024-09-10T10:16:37Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
         size = 13
         contents = "A1 STARTTLS\r\n"
 2024-09-10T10:16:37Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
         size = 33
         contents = "A1 OK Begin TLS negotiation now\r\n"
 2024-09-10T10:16:37Z INFO IMAP connection started (imap.connection-start)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62476
 2024-09-10T10:16:38Z INFO IMAP connection started (imap.connection-start)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 50116
 2024-09-10T10:16:38Z INFO TLS handshake (tls.handshake)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
         listenerId = "imap"
         version = "TLSv1_3"
         details = "TLS13_AES_128_GCM_SHA256"
 2024-09-10T10:16:38Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62476
         size = 72
         contents = "A1 AUTHENTICATE PLAIN <password>=\r\n"
 2024-09-10T10:16:38Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
         size = 15
         contents = "A2 CAPABILITY\r\n"
 2024-09-10T10:16:38Z DEBUG IMAP CAPABILITIES command (imap.capabilities)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
         tls = true
         strict = true
         elapsed = 0ms
 2024-09-10T10:16:38Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
         size = 129
         contents = "* CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE SASL-IR LITERAL+ ID UTF8=ACCEPT AUTH=OAUTHBEARER AUTH=PLAIN\r\nA2 OK CAPABILITY completed\r\n"
 2024-09-10T10:16:38Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:38Z INFO Authentication successful (auth.success)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62476
         accountName = "another_account@mydomain"
         accountId = 5
         type = Individual
 2024-09-10T10:16:38Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:38Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:38Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:38Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:38Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62476
         size = 348
         contents = "A1 OK [CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE SASL-IR LITERAL+ ID UTF8=ACCEPT IDLE NAMESPACE CHILDREN MULTIAPPEND BINARY UNSELECT ACL UIDPLUS ESEARCH WITHIN SEARCHRES SORT THREAD=REFERENCES LIST-EXTENDED ESORT SORT=DISPLAY SPECIAL-USE CREATE-SPECIAL-USE MOVE CONDSTORE QRESYNC UNAUTHENTICATE STATUS=SIZE OBJECTID PREVIEW] Authentication successful\r\n"
 2024-09-10T10:16:38Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 50116
         size = 45
         contents = "1 LOGIN account@mydomain WhiteFox18!\r\n"
 2024-09-10T10:16:38Z DEBUG IMAP error occurred (imap.error)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 50116
         details = LOGIN is disabled on the clear-text port.
         id = "1"
 2024-09-10T10:16:38Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 50116
         size = 48
         contents = "1 NO LOGIN is disabled on the clear-text port.\r\n"
 2024-09-10T10:16:38Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62476
         size = 130
         contents = "A2 ID ("name" "com.apple.email.maild" "version" "3818.100.11.2.3" "os" "iOS" "os-version" "18.0 (22A3354)" "vendor" "Apple Inc")\r\n"
 2024-09-10T10:16:38Z DEBUG IMAP ID command (imap.id)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62476
         elapsed = 0ms
 2024-09-10T10:16:38Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62476
         size = 133
         contents = "* ID ("name" "Stalwart IMAP" "version" "0.9.4" "vendor" "Stalwart Labs Ltd." "support-url" "https://stalw.art")\r\nA2 OK ID completed\r\n"
 2024-09-10T10:16:38Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
         size = 72
         contents = "A3 AUTHENTICATE PLAIN <password stuff>\r\n"
 2024-09-10T10:16:38Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:38Z INFO Authentication successful (auth.success)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
         accountName = "account@mydomain"
         accountId = 3
         type = Individual
 2024-09-10T10:16:38Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:38Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:38Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
         size = 348
         contents = "A3 OK [CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE SASL-IR LITERAL+ ID UTF8=ACCEPT IDLE NAMESPACE CHILDREN MULTIAPPEND BINARY UNSELECT ACL UIDPLUS ESEARCH WITHIN SEARCHRES SORT THREAD=REFERENCES LIST-EXTENDED ESORT SORT=DISPLAY SPECIAL-USE CREATE-SPECIAL-USE MOVE CONDSTORE QRESYNC UNAUTHENTICATE STATUS=SIZE OBJECTID PREVIEW] Authentication successful\r\n"
 2024-09-10T10:16:38Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 50116
         size = 10
         contents = "2 LOGOUT\r\n"
 2024-09-10T10:16:38Z DEBUG IMAP LOGOUT command (imap.logout)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 50116
         elapsed = 0ms
 2024-09-10T10:16:38Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 50116
         size = 75
         contents = "* BYE Stalwart IMAP4rev2 v0.9.4 bids you farewell.\r\n2 OK LOGOUT completed\r\n"
 2024-09-10T10:16:38Z INFO IMAP connection ended (imap.connection-end)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 50116
         elapsed = 294ms
 2024-09-10T10:16:38Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62476
         size = 51
         contents = "A3 NAMESPACE\r\nA4 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
 2024-09-10T10:16:38Z DEBUG IMAP NAMESPACE command (imap.namespace)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62476
         elapsed = 0ms
 2024-09-10T10:16:38Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62476
         size = 80
         contents = "* NAMESPACE (("" "/")) (("Shared Folders" "/")) NIL\r\nA3 OK NAMESPACE completed\r\n"
 2024-09-10T10:16:38Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:38Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:38Z DEBUG IMAP LIST command (imap.list)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62476
         details = ["Archive", "Deleted Items", "Deleted Messages", "Drafts", "INBOX", "Important", "Junk Mail", "Makatikitkikt", "Notes", "Outbox", "Sent", "Sent Items", "Sent Messages", "Spam", "Templates", "Trash", "Shared Folders", "Shared Folders/familymembers", "Shared Folders/familymembers/Deleted Items", "Shared Folders/familymembers/Drafts", "Shared Folders/familymembers/Inbox", "Shared Folders/familymembers/Junk Mail", "Shared Folders/familymembers/Sent Items"]
         elapsed = 0ms
 2024-09-10T10:16:38Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62476
         size = 880
         contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST () "/" "Deleted Messages"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST () "/" "Important"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST () "/" "Makatikitkikt"\r\n* LIST () "/" "Notes"\r\n* LIST () "/" "Outbox"\r\n* LIST (\\Sent) "/" "Sent"\r\n* LIST (\\Sent) "/" "Sent Items"\r\n* LIST () "/" "Sent Messages"\r\n* LIST (\\Junk) "/" "Spam"\r\n* LIST () "/" "Templates"\r\n* LIST (\\Trash) "/" "Trash"\r\n* LIST (\\NoSelect) "/" "Shared Folders"\r\n* LIST (\\NoSelect) "/" "Shared Folders/familymembers"\r\n* LIST (\\Trash) "/" "Shared Folders/familymembers/Deleted Items"\r\n* LIST (\\Drafts) "/" "Shared Folders/familymembers/Drafts"\r\n* LIST () "/" "Shared Folders/familymembers/Inbox"\r\n* LIST (\\Junk) "/" "Shared Folders/familymembers/Junk Mail"\r\n* LIST (\\Sent) "/" "Shared Folders/familymembers/Sent Items"\r\nA4 OK LIST completed\r\n"
 2024-09-10T10:16:38Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
         size = 130
         contents = "A4 ID ("name" "com.apple.email.maild" "version" "3818.100.11.2.3" "os" "iOS" "os-version" "18.0 (22A3354)" "vendor" "Apple Inc")\r\n"
 2024-09-10T10:16:38Z DEBUG IMAP ID command (imap.id)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
         elapsed = 0ms
 2024-09-10T10:16:38Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
         size = 133
         contents = "* ID ("name" "Stalwart IMAP" "version" "0.9.4" "vendor" "Stalwart Labs Ltd." "support-url" "https://stalw.art")\r\nA4 OK ID completed\r\n"
 2024-09-10T10:16:38Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
         size = 51
         contents = "A5 NAMESPACE\r\nA6 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
 2024-09-10T10:16:38Z DEBUG IMAP NAMESPACE command (imap.namespace)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
         elapsed = 0ms
 2024-09-10T10:16:38Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
         size = 59
         contents = "* NAMESPACE (("" "/")) NIL NIL\r\nA5 OK NAMESPACE completed\r\n"
 2024-09-10T10:16:38Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:38Z DEBUG IMAP LIST command (imap.list)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
         details = ["Archive", "Deleted Items", "Deleted Messages", "Drafts", "INBOX", "Junk Mail", "Notes", "Outbox", "Sent", "Sent Items", "Spam", "Templates", "Trash"]
         elapsed = 0ms
 2024-09-10T10:16:38Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
         size = 394
         contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST () "/" "Deleted Messages"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST () "/" "Notes"\r\n* LIST () "/" "Outbox"\r\n* LIST (\\Sent) "/" "Sent"\r\n* LIST (\\Sent) "/" "Sent Items"\r\n* LIST (\\Junk) "/" "Spam"\r\n* LIST () "/" "Templates"\r\n* LIST (\\Trash) "/" "Trash"\r\nA6 OK LIST completed\r\n"
 2024-09-10T10:16:38Z TRACE Network connection closed (network.closed)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
         causedBy = crates/imap/src/core/session.rs:73
 2024-09-10T10:16:38Z INFO IMAP connection ended (imap.connection-end)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62474
         elapsed = 637ms
 2024-09-10T10:16:38Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62476
         size = 31
         contents = "A5 SELECT "INBOX" (CONDSTORE)\r\n"
 2024-09-10T10:16:38Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:38Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:38Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:38Z DEBUG IMAP SELECT command (imap.select)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62476
         mailboxName = "INBOX"
         accountId = 5
         mailboxId = 0
         total = 874
         uidNext = 3326
         uidValidity = 3565950054
         elapsed = 0ms
 2024-09-10T10:16:38Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62476
         size = 380
         contents = "* 874 EXISTS\r\n* FLAGS (\\Answered \\Flagged \\Deleted \\Seen \\Draft)\r\n* 0 RECENT\r\n* OK [PERMANENTFLAGS (\\Deleted \\Seen \\Answered \\Flagged \\Draft \\*)] All allowed\r\n* OK [UIDVALIDITY 3565950054] UIDs valid\r\n* OK [UIDNEXT 3326] Next predicted UID\r\n* OK [HIGHESTMODSEQ 196462565620977668] Highest Modseq\r\n* OK [MAILBOXID (uaaaaaa)] Unique Mailbox ID\r\nA5 OK [READ-WRITE] SELECT completed\r\n"
 2024-09-10T10:16:38Z TRACE Network connection closed (network.closed)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62476
         causedBy = crates/imap/src/core/session.rs:73
 2024-09-10T10:16:38Z INFO IMAP connection ended (imap.connection-end)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62476
         elapsed = 618ms
 2024-09-10T10:16:38Z INFO IMAP connection started (imap.connection-start)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
 2024-09-10T10:16:38Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 13
         contents = "A1 STARTTLS\r\n"
 2024-09-10T10:16:38Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 33
         contents = "A1 OK Begin TLS negotiation now\r\n"
 2024-09-10T10:16:39Z INFO IMAP connection started (imap.connection-start)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
 2024-09-10T10:16:39Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         size = 72
         contents = "A1 AUTHENTICATE PLAIN <password>=\r\n"
 2024-09-10T10:16:39Z INFO TLS handshake (tls.handshake)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         listenerId = "imap"
         version = "TLSv1_3"
         details = "TLS13_AES_128_GCM_SHA256"
 2024-09-10T10:16:39Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 15
         contents = "A2 CAPABILITY\r\n"
 2024-09-10T10:16:39Z DEBUG IMAP CAPABILITIES command (imap.capabilities)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         tls = true
         strict = true
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 129
         contents = "* CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE SASL-IR LITERAL+ ID UTF8=ACCEPT AUTH=OAUTHBEARER AUTH=PLAIN\r\nA2 OK CAPABILITY completed\r\n"
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z INFO Authentication successful (auth.success)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         accountName = "another_account@mydomain"
         accountId = 5
         type = Individual
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         size = 348
         contents = "A1 OK [CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE SASL-IR LITERAL+ ID UTF8=ACCEPT IDLE NAMESPACE CHILDREN MULTIAPPEND BINARY UNSELECT ACL UIDPLUS ESEARCH WITHIN SEARCHRES SORT THREAD=REFERENCES LIST-EXTENDED ESORT SORT=DISPLAY SPECIAL-USE CREATE-SPECIAL-USE MOVE CONDSTORE QRESYNC UNAUTHENTICATE STATUS=SIZE OBJECTID PREVIEW] Authentication successful\r\n"
 2024-09-10T10:16:39Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         size = 130
         contents = "A2 ID ("name" "com.apple.email.maild" "version" "3818.100.11.2.3" "os" "iOS" "os-version" "18.0 (22A3354)" "vendor" "Apple Inc")\r\n"
 2024-09-10T10:16:39Z DEBUG IMAP ID command (imap.id)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         size = 133
         contents = "* ID ("name" "Stalwart IMAP" "version" "0.9.4" "vendor" "Stalwart Labs Ltd." "support-url" "https://stalw.art")\r\nA2 OK ID completed\r\n"
 2024-09-10T10:16:39Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 72
         contents = "A3 AUTHENTICATE PLAIN <password stuff>\r\n"
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z INFO Authentication successful (auth.success)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         accountName = "account@mydomain"
         accountId = 3
         type = Individual
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 348
         contents = "A3 OK [CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE SASL-IR LITERAL+ ID UTF8=ACCEPT IDLE NAMESPACE CHILDREN MULTIAPPEND BINARY UNSELECT ACL UIDPLUS ESEARCH WITHIN SEARCHRES SORT THREAD=REFERENCES LIST-EXTENDED ESORT SORT=DISPLAY SPECIAL-USE CREATE-SPECIAL-USE MOVE CONDSTORE QRESYNC UNAUTHENTICATE STATUS=SIZE OBJECTID PREVIEW] Authentication successful\r\n"
 2024-09-10T10:16:39Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         size = 51
         contents = "A3 NAMESPACE\r\nA4 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
 2024-09-10T10:16:39Z DEBUG IMAP NAMESPACE command (imap.namespace)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         size = 80
         contents = "* NAMESPACE (("" "/")) (("Shared Folders" "/")) NIL\r\nA3 OK NAMESPACE completed\r\n"
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z DEBUG IMAP LIST command (imap.list)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         details = ["Archive", "Deleted Items", "Deleted Messages", "Drafts", "INBOX", "Important", "Junk Mail", "Makatikitkikt", "Notes", "Outbox", "Sent", "Sent Items", "Sent Messages", "Spam", "Templates", "Trash", "Shared Folders", "Shared Folders/familymembers", "Shared Folders/familymembers/Deleted Items", "Shared Folders/familymembers/Drafts", "Shared Folders/familymembers/Inbox", "Shared Folders/familymembers/Junk Mail", "Shared Folders/familymembers/Sent Items"]
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         size = 880
         contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST () "/" "Deleted Messages"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST () "/" "Important"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST () "/" "Makatikitkikt"\r\n* LIST () "/" "Notes"\r\n* LIST () "/" "Outbox"\r\n* LIST (\\Sent) "/" "Sent"\r\n* LIST (\\Sent) "/" "Sent Items"\r\n* LIST () "/" "Sent Messages"\r\n* LIST (\\Junk) "/" "Spam"\r\n* LIST () "/" "Templates"\r\n* LIST (\\Trash) "/" "Trash"\r\n* LIST (\\NoSelect) "/" "Shared Folders"\r\n* LIST (\\NoSelect) "/" "Shared Folders/familymembers"\r\n* LIST (\\Trash) "/" "Shared Folders/familymembers/Deleted Items"\r\n* LIST (\\Drafts) "/" "Shared Folders/familymembers/Drafts"\r\n* LIST () "/" "Shared Folders/familymembers/Inbox"\r\n* LIST (\\Junk) "/" "Shared Folders/familymembers/Junk Mail"\r\n* LIST (\\Sent) "/" "Shared Folders/familymembers/Sent Items"\r\nA4 OK LIST completed\r\n"
 2024-09-10T10:16:39Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 130
         contents = "A4 ID ("name" "com.apple.email.maild" "version" "3818.100.11.2.3" "os" "iOS" "os-version" "18.0 (22A3354)" "vendor" "Apple Inc")\r\n"
 2024-09-10T10:16:39Z DEBUG IMAP ID command (imap.id)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 133
         contents = "* ID ("name" "Stalwart IMAP" "version" "0.9.4" "vendor" "Stalwart Labs Ltd." "support-url" "https://stalw.art")\r\nA4 OK ID completed\r\n"
 2024-09-10T10:16:39Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         size = 31
         contents = "A5 SELECT "INBOX" (CONDSTORE)\r\n"
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z DEBUG IMAP SELECT command (imap.select)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         mailboxName = "INBOX"
         accountId = 5
         mailboxId = 0
         total = 874
         uidNext = 3326
         uidValidity = 3565950054
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         size = 380
         contents = "* 874 EXISTS\r\n* FLAGS (\\Answered \\Flagged \\Deleted \\Seen \\Draft)\r\n* 0 RECENT\r\n* OK [PERMANENTFLAGS (\\Deleted \\Seen \\Answered \\Flagged \\Draft \\*)] All allowed\r\n* OK [UIDVALIDITY 3565950054] UIDs valid\r\n* OK [UIDNEXT 3326] Next predicted UID\r\n* OK [HIGHESTMODSEQ 196462565620977668] Highest Modseq\r\n* OK [MAILBOXID (uaaaaaa)] Unique Mailbox ID\r\nA5 OK [READ-WRITE] SELECT completed\r\n"
 2024-09-10T10:16:39Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 51
         contents = "A5 NAMESPACE\r\nA6 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
 2024-09-10T10:16:39Z DEBUG IMAP NAMESPACE command (imap.namespace)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 59
         contents = "* NAMESPACE (("" "/")) NIL NIL\r\nA5 OK NAMESPACE completed\r\n"
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z DEBUG IMAP LIST command (imap.list)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         details = ["Archive", "Deleted Items", "Deleted Messages", "Drafts", "INBOX", "Junk Mail", "Notes", "Outbox", "Sent", "Sent Items", "Spam", "Templates", "Trash"]
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 394
         contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST () "/" "Deleted Messages"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST () "/" "Notes"\r\n* LIST () "/" "Outbox"\r\n* LIST (\\Sent) "/" "Sent"\r\n* LIST (\\Sent) "/" "Sent Items"\r\n* LIST (\\Junk) "/" "Spam"\r\n* LIST () "/" "Templates"\r\n* LIST (\\Trash) "/" "Trash"\r\nA6 OK LIST completed\r\n"
 2024-09-10T10:16:39Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         size = 9
         contents = "A7 IDLE\r\n"
 2024-09-10T10:16:39Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         size = 32
         contents = "+ Idling, send 'DONE' to stop.\r\n"
 2024-09-10T10:16:39Z DEBUG IMAP IDLE start (imap.idle-start)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z DEBUG IMAP IDLE stop (imap.idle-stop)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         elapsed = 49ms
 2024-09-10T10:16:39Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         size = 22
         contents = "A7 OK IDLE completed\r\n"
 2024-09-10T10:16:39Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 31
         contents = "A7 SELECT "INBOX" (CONDSTORE)\r\n"
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z DEBUG IMAP SELECT command (imap.select)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         mailboxName = "INBOX"
         accountId = 3
         mailboxId = 0
         total = 495
         uidNext = 988
         uidValidity = 2306831172
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 379
         contents = "* 495 EXISTS\r\n* FLAGS (\\Answered \\Flagged \\Deleted \\Seen \\Draft)\r\n* 0 RECENT\r\n* OK [PERMANENTFLAGS (\\Deleted \\Seen \\Answered \\Flagged \\Draft \\*)] All allowed\r\n* OK [UIDVALIDITY 2306831172] UIDs valid\r\n* OK [UIDNEXT 988] Next predicted UID\r\n* OK [HIGHESTMODSEQ 196414307863367837] Highest Modseq\r\n* OK [MAILBOXID (maaaaaa)] Unique Mailbox ID\r\nA7 OK [READ-WRITE] SELECT completed\r\n"
 2024-09-10T10:16:39Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 9
         contents = "A9 IDLE\r\n"
 2024-09-10T10:16:39Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 32
         contents = "+ Idling, send 'DONE' to stop.\r\n"
 2024-09-10T10:16:39Z DEBUG IMAP IDLE start (imap.idle-start)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:39Z DEBUG IMAP IDLE stop (imap.idle-stop)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         elapsed = 44ms
 2024-09-10T10:16:39Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 22
         contents = "A9 OK IDLE completed\r\n"
 2024-09-10T10:16:44Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         size = 38
         contents = "A18 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
 2024-09-10T10:16:44Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:44Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:44Z DEBUG IMAP LIST command (imap.list)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         details = ["Archive", "Deleted Items", "Deleted Messages", "Drafts", "INBOX", "Important", "Junk Mail", "Makatikitkikt", "Notes", "Outbox", "Sent", "Sent Items", "Sent Messages", "Spam", "Templates", "Trash", "Shared Folders", "Shared Folders/familymembers", "Shared Folders/familymembers/Deleted Items", "Shared Folders/familymembers/Drafts", "Shared Folders/familymembers/Inbox", "Shared Folders/familymembers/Junk Mail", "Shared Folders/familymembers/Sent Items"]
         elapsed = 0ms
 2024-09-10T10:16:44Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         size = 881
         contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST () "/" "Deleted Messages"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST () "/" "Important"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST () "/" "Makatikitkikt"\r\n* LIST () "/" "Notes"\r\n* LIST () "/" "Outbox"\r\n* LIST (\\Sent) "/" "Sent"\r\n* LIST (\\Sent) "/" "Sent Items"\r\n* LIST () "/" "Sent Messages"\r\n* LIST (\\Junk) "/" "Spam"\r\n* LIST () "/" "Templates"\r\n* LIST (\\Trash) "/" "Trash"\r\n* LIST (\\NoSelect) "/" "Shared Folders"\r\n* LIST (\\NoSelect) "/" "Shared Folders/familymembers"\r\n* LIST (\\Trash) "/" "Shared Folders/familymembers/Deleted Items"\r\n* LIST (\\Drafts) "/" "Shared Folders/familymembers/Drafts"\r\n* LIST () "/" "Shared Folders/familymembers/Inbox"\r\n* LIST (\\Junk) "/" "Shared Folders/familymembers/Junk Mail"\r\n* LIST (\\Sent) "/" "Shared Folders/familymembers/Sent Items"\r\nA18 OK LIST completed\r\n"
 2024-09-10T10:16:44Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 38
         contents = "A24 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
 2024-09-10T10:16:44Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:44Z DEBUG IMAP LIST command (imap.list)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         details = ["Archive", "Deleted Items", "Deleted Messages", "Drafts", "INBOX", "Junk Mail", "Notes", "Outbox", "Sent", "Sent Items", "Spam", "Templates", "Trash"]
         elapsed = 0ms
 2024-09-10T10:16:44Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 395
         contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST () "/" "Deleted Messages"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST () "/" "Notes"\r\n* LIST () "/" "Outbox"\r\n* LIST (\\Sent) "/" "Sent"\r\n* LIST (\\Sent) "/" "Sent Items"\r\n* LIST (\\Junk) "/" "Spam"\r\n* LIST () "/" "Templates"\r\n* LIST (\\Trash) "/" "Trash"\r\nA24 OK LIST completed\r\n"
 2024-09-10T10:16:53Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 38
         contents = "A26 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
 2024-09-10T10:16:53Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:53Z DEBUG IMAP LIST command (imap.list)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         details = ["Archive", "Deleted Items", "Deleted Messages", "Drafts", "INBOX", "Junk Mail", "Notes", "Outbox", "Sent", "Sent Items", "Spam", "Templates", "Trash"]
         elapsed = 0ms
 2024-09-10T10:16:53Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 395
         contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST () "/" "Deleted Messages"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST () "/" "Notes"\r\n* LIST () "/" "Outbox"\r\n* LIST (\\Sent) "/" "Sent"\r\n* LIST (\\Sent) "/" "Sent Items"\r\n* LIST (\\Junk) "/" "Spam"\r\n* LIST () "/" "Templates"\r\n* LIST (\\Trash) "/" "Trash"\r\nA26 OK LIST completed\r\n"
 2024-09-10T10:16:53Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         size = 38
         contents = "A20 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
 2024-09-10T10:16:53Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:53Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:16:53Z DEBUG IMAP LIST command (imap.list)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         details = ["Archive", "Deleted Items", "Deleted Messages", "Drafts", "INBOX", "Important", "Junk Mail", "Makatikitkikt", "Notes", "Outbox", "Sent", "Sent Items", "Sent Messages", "Spam", "Templates", "Trash", "Shared Folders", "Shared Folders/familymembers", "Shared Folders/familymembers/Deleted Items", "Shared Folders/familymembers/Drafts", "Shared Folders/familymembers/Inbox", "Shared Folders/familymembers/Junk Mail", "Shared Folders/familymembers/Sent Items"]
         elapsed = 0ms
 2024-09-10T10:16:53Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         size = 881
         contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST () "/" "Deleted Messages"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST () "/" "Important"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST () "/" "Makatikitkikt"\r\n* LIST () "/" "Notes"\r\n* LIST () "/" "Outbox"\r\n* LIST (\\Sent) "/" "Sent"\r\n* LIST (\\Sent) "/" "Sent Items"\r\n* LIST () "/" "Sent Messages"\r\n* LIST (\\Junk) "/" "Spam"\r\n* LIST () "/" "Templates"\r\n* LIST (\\Trash) "/" "Trash"\r\n* LIST (\\NoSelect) "/" "Shared Folders"\r\n* LIST (\\NoSelect) "/" "Shared Folders/familymembers"\r\n* LIST (\\Trash) "/" "Shared Folders/familymembers/Deleted Items"\r\n* LIST (\\Drafts) "/" "Shared Folders/familymembers/Drafts"\r\n* LIST () "/" "Shared Folders/familymembers/Inbox"\r\n* LIST (\\Junk) "/" "Shared Folders/familymembers/Junk Mail"\r\n* LIST (\\Sent) "/" "Shared Folders/familymembers/Sent Items"\r\nA20 OK LIST completed\r\n"
 2024-09-10T10:18:51Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 38
         contents = "A28 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
 2024-09-10T10:18:51Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         size = 38
         contents = "A22 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
 2024-09-10T10:18:51Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:18:51Z DEBUG IMAP LIST command (imap.list)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         details = ["Archive", "Deleted Items", "Deleted Messages", "Drafts", "INBOX", "Junk Mail", "Notes", "Outbox", "Sent", "Sent Items", "Spam", "Templates", "Trash"]
         elapsed = 0ms
 2024-09-10T10:18:51Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         size = 395
         contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST () "/" "Deleted Messages"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST () "/" "Notes"\r\n* LIST () "/" "Outbox"\r\n* LIST (\\Sent) "/" "Sent"\r\n* LIST (\\Sent) "/" "Sent Items"\r\n* LIST (\\Junk) "/" "Spam"\r\n* LIST () "/" "Templates"\r\n* LIST (\\Trash) "/" "Trash"\r\nA28 OK LIST completed\r\n"
 2024-09-10T10:18:51Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:18:51Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:18:51Z DEBUG IMAP LIST command (imap.list)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         details = ["Archive", "Deleted Items", "Deleted Messages", "Drafts", "INBOX", "Important", "Junk Mail", "Makatikitkikt", "Notes", "Outbox", "Sent", "Sent Items", "Sent Messages", "Spam", "Templates", "Trash", "Shared Folders", "Shared Folders/familymembers", "Shared Folders/familymembers/Deleted Items", "Shared Folders/familymembers/Drafts", "Shared Folders/familymembers/Inbox", "Shared Folders/familymembers/Junk Mail", "Shared Folders/familymembers/Sent Items"]
         elapsed = 0ms
 2024-09-10T10:18:51Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         size = 881
         contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST () "/" "Deleted Messages"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST () "/" "Important"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST () "/" "Makatikitkikt"\r\n* LIST () "/" "Notes"\r\n* LIST () "/" "Outbox"\r\n* LIST (\\Sent) "/" "Sent"\r\n* LIST (\\Sent) "/" "Sent Items"\r\n* LIST () "/" "Sent Messages"\r\n* LIST (\\Junk) "/" "Spam"\r\n* LIST () "/" "Templates"\r\n* LIST (\\Trash) "/" "Trash"\r\n* LIST (\\NoSelect) "/" "Shared Folders"\r\n* LIST (\\NoSelect) "/" "Shared Folders/familymembers"\r\n* LIST (\\Trash) "/" "Shared Folders/familymembers/Deleted Items"\r\n* LIST (\\Drafts) "/" "Shared Folders/familymembers/Drafts"\r\n* LIST () "/" "Shared Folders/familymembers/Inbox"\r\n* LIST (\\Junk) "/" "Shared Folders/familymembers/Junk Mail"\r\n* LIST (\\Sent) "/" "Shared Folders/familymembers/Sent Items"\r\nA22 OK LIST completed\r\n"
 2024-09-10T10:20:00Z TRACE Network read error (network.read-error)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         reason = "Connection reset by peer (os error 104)"
         causedBy = crates/imap/src/core/session.rs:83
 2024-09-10T10:20:00Z INFO IMAP connection ended (imap.connection-end)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62483
         elapsed = 201858ms
 2024-09-10T10:20:00Z TRACE Network read error (network.read-error)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         reason = "Connection reset by peer (os error 104)"
         causedBy = crates/imap/src/core/session.rs:83
 2024-09-10T10:20:00Z INFO IMAP connection ended (imap.connection-end)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62481
         elapsed = 201887ms
 2024-09-10T10:20:02Z INFO IMAP connection started (imap.connection-start)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
 2024-09-10T10:20:02Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 13
         contents = "A1 STARTTLS\r\n"
 2024-09-10T10:20:02Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 33
         contents = "A1 OK Begin TLS negotiation now\r\n"
 2024-09-10T10:20:02Z INFO TLS handshake (tls.handshake)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         listenerId = "imap"
         version = "TLSv1_3"
         details = "TLS13_AES_128_GCM_SHA256"
 2024-09-10T10:20:02Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 15
         contents = "A2 CAPABILITY\r\n"
 2024-09-10T10:20:02Z DEBUG IMAP CAPABILITIES command (imap.capabilities)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         tls = true
         strict = true
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 129
         contents = "* CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE SASL-IR LITERAL+ ID UTF8=ACCEPT AUTH=OAUTHBEARER AUTH=PLAIN\r\nA2 OK CAPABILITY completed\r\n"
 2024-09-10T10:20:02Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 72
         contents = "A3 AUTHENTICATE PLAIN <password stuff>\r\n"
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z INFO Authentication successful (auth.success)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         accountName = "account@mydomain"
         accountId = 3
         type = Individual
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 348
         contents = "A3 OK [CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE SASL-IR LITERAL+ ID UTF8=ACCEPT IDLE NAMESPACE CHILDREN MULTIAPPEND BINARY UNSELECT ACL UIDPLUS ESEARCH WITHIN SEARCHRES SORT THREAD=REFERENCES LIST-EXTENDED ESORT SORT=DISPLAY SPECIAL-USE CREATE-SPECIAL-USE MOVE CONDSTORE QRESYNC UNAUTHENTICATE STATUS=SIZE OBJECTID PREVIEW] Authentication successful\r\n"
 2024-09-10T10:20:02Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 130
         contents = "A4 ID ("name" "com.apple.email.maild" "version" "3818.100.11.2.3" "os" "iOS" "os-version" "18.0 (22A3354)" "vendor" "Apple Inc")\r\n"
 2024-09-10T10:20:02Z DEBUG IMAP ID command (imap.id)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 133
         contents = "* ID ("name" "Stalwart IMAP" "version" "0.9.4" "vendor" "Stalwart Labs Ltd." "support-url" "https://stalw.art")\r\nA4 OK ID completed\r\n"
 2024-09-10T10:20:02Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 51
         contents = "A5 NAMESPACE\r\nA6 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
 2024-09-10T10:20:02Z DEBUG IMAP NAMESPACE command (imap.namespace)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 59
         contents = "* NAMESPACE (("" "/")) NIL NIL\r\nA5 OK NAMESPACE completed\r\n"
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z DEBUG IMAP LIST command (imap.list)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         details = ["Archive", "Deleted Items", "Deleted Messages", "Drafts", "INBOX", "Junk Mail", "Notes", "Outbox", "Sent", "Sent Items", "Spam", "Templates", "Trash"]
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 394
         contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST () "/" "Deleted Messages"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST () "/" "Notes"\r\n* LIST () "/" "Outbox"\r\n* LIST (\\Sent) "/" "Sent"\r\n* LIST (\\Sent) "/" "Sent Items"\r\n* LIST (\\Junk) "/" "Spam"\r\n* LIST () "/" "Templates"\r\n* LIST (\\Trash) "/" "Trash"\r\nA6 OK LIST completed\r\n"
 2024-09-10T10:20:02Z INFO IMAP connection started (imap.connection-start)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
 2024-09-10T10:20:02Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 31
         contents = "A7 SELECT "INBOX" (CONDSTORE)\r\n"
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z DEBUG IMAP SELECT command (imap.select)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         mailboxName = "INBOX"
         accountId = 3
         mailboxId = 0
         total = 495
         uidNext = 988
         uidValidity = 2306831172
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 379
         contents = "* 495 EXISTS\r\n* FLAGS (\\Answered \\Flagged \\Deleted \\Seen \\Draft)\r\n* 0 RECENT\r\n* OK [PERMANENTFLAGS (\\Deleted \\Seen \\Answered \\Flagged \\Draft \\*)] All allowed\r\n* OK [UIDVALIDITY 2306831172] UIDs valid\r\n* OK [UIDNEXT 988] Next predicted UID\r\n* OK [HIGHESTMODSEQ 196414307863367837] Highest Modseq\r\n* OK [MAILBOXID (maaaaaa)] Unique Mailbox ID\r\nA7 OK [READ-WRITE] SELECT completed\r\n"
 2024-09-10T10:20:02Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         size = 72
         contents = "A1 AUTHENTICATE PLAIN <password>=\r\n"
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z INFO Authentication successful (auth.success)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         accountName = "another_account@mydomain"
         accountId = 5
         type = Individual
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         size = 348
         contents = "A1 OK [CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE SASL-IR LITERAL+ ID UTF8=ACCEPT IDLE NAMESPACE CHILDREN MULTIAPPEND BINARY UNSELECT ACL UIDPLUS ESEARCH WITHIN SEARCHRES SORT THREAD=REFERENCES LIST-EXTENDED ESORT SORT=DISPLAY SPECIAL-USE CREATE-SPECIAL-USE MOVE CONDSTORE QRESYNC UNAUTHENTICATE STATUS=SIZE OBJECTID PREVIEW] Authentication successful\r\n"
 2024-09-10T10:20:02Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 9
         contents = "A9 IDLE\r\n"
 2024-09-10T10:20:02Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 32
         contents = "+ Idling, send 'DONE' to stop.\r\n"
 2024-09-10T10:20:02Z DEBUG IMAP IDLE start (imap.idle-start)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         size = 130
         contents = "A2 ID ("name" "com.apple.email.maild" "version" "3818.100.11.2.3" "os" "iOS" "os-version" "18.0 (22A3354)" "vendor" "Apple Inc")\r\n"
 2024-09-10T10:20:02Z DEBUG IMAP ID command (imap.id)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         size = 133
         contents = "* ID ("name" "Stalwart IMAP" "version" "0.9.4" "vendor" "Stalwart Labs Ltd." "support-url" "https://stalw.art")\r\nA2 OK ID completed\r\n"
 2024-09-10T10:20:02Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         size = 51
         contents = "A3 NAMESPACE\r\nA4 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
 2024-09-10T10:20:02Z DEBUG IMAP NAMESPACE command (imap.namespace)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         size = 80
         contents = "* NAMESPACE (("" "/")) (("Shared Folders" "/")) NIL\r\nA3 OK NAMESPACE completed\r\n"
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z DEBUG IMAP LIST command (imap.list)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         details = ["Archive", "Deleted Items", "Deleted Messages", "Drafts", "INBOX", "Important", "Junk Mail", "Makatikitkikt", "Notes", "Outbox", "Sent", "Sent Items", "Sent Messages", "Spam", "Templates", "Trash", "Shared Folders", "Shared Folders/familymembers", "Shared Folders/familymembers/Deleted Items", "Shared Folders/familymembers/Drafts", "Shared Folders/familymembers/Inbox", "Shared Folders/familymembers/Junk Mail", "Shared Folders/familymembers/Sent Items"]
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         size = 880
         contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST () "/" "Deleted Messages"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST () "/" "Important"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST () "/" "Makatikitkikt"\r\n* LIST () "/" "Notes"\r\n* LIST () "/" "Outbox"\r\n* LIST (\\Sent) "/" "Sent"\r\n* LIST (\\Sent) "/" "Sent Items"\r\n* LIST () "/" "Sent Messages"\r\n* LIST (\\Junk) "/" "Spam"\r\n* LIST () "/" "Templates"\r\n* LIST (\\Trash) "/" "Trash"\r\n* LIST (\\NoSelect) "/" "Shared Folders"\r\n* LIST (\\NoSelect) "/" "Shared Folders/familymembers"\r\n* LIST (\\Trash) "/" "Shared Folders/familymembers/Deleted Items"\r\n* LIST (\\Drafts) "/" "Shared Folders/familymembers/Drafts"\r\n* LIST () "/" "Shared Folders/familymembers/Inbox"\r\n* LIST (\\Junk) "/" "Shared Folders/familymembers/Junk Mail"\r\n* LIST (\\Sent) "/" "Shared Folders/familymembers/Sent Items"\r\nA4 OK LIST completed\r\n"
 2024-09-10T10:20:02Z DEBUG IMAP IDLE stop (imap.idle-stop)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         elapsed = 54ms
 2024-09-10T10:20:02Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 22
         contents = "A9 OK IDLE completed\r\n"
 2024-09-10T10:20:02Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         size = 31
         contents = "A5 SELECT "INBOX" (CONDSTORE)\r\n"
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z DEBUG IMAP SELECT command (imap.select)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         mailboxName = "INBOX"
         accountId = 5
         mailboxId = 0
         total = 874
         uidNext = 3326
         uidValidity = 3565950054
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         size = 380
         contents = "* 874 EXISTS\r\n* FLAGS (\\Answered \\Flagged \\Deleted \\Seen \\Draft)\r\n* 0 RECENT\r\n* OK [PERMANENTFLAGS (\\Deleted \\Seen \\Answered \\Flagged \\Draft \\*)] All allowed\r\n* OK [UIDVALIDITY 3565950054] UIDs valid\r\n* OK [UIDNEXT 3326] Next predicted UID\r\n* OK [HIGHESTMODSEQ 196462565620977668] Highest Modseq\r\n* OK [MAILBOXID (uaaaaaa)] Unique Mailbox ID\r\nA5 OK [READ-WRITE] SELECT completed\r\n"
 2024-09-10T10:20:02Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         size = 9
         contents = "A7 IDLE\r\n"
 2024-09-10T10:20:02Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         size = 32
         contents = "+ Idling, send 'DONE' to stop.\r\n"
 2024-09-10T10:20:02Z DEBUG IMAP IDLE start (imap.idle-start)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:02Z DEBUG IMAP IDLE stop (imap.idle-stop)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         elapsed = 24ms
 2024-09-10T10:20:02Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         size = 22
         contents = "A7 OK IDLE completed\r\n"
 2024-09-10T10:20:07Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         size = 38
         contents = "A17 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
 2024-09-10T10:20:07Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:07Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:07Z DEBUG IMAP LIST command (imap.list)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         details = ["Archive", "Deleted Items", "Deleted Messages", "Drafts", "INBOX", "Important", "Junk Mail", "Makatikitkikt", "Notes", "Outbox", "Sent", "Sent Items", "Sent Messages", "Spam", "Templates", "Trash", "Shared Folders", "Shared Folders/familymembers", "Shared Folders/familymembers/Deleted Items", "Shared Folders/familymembers/Drafts", "Shared Folders/familymembers/Inbox", "Shared Folders/familymembers/Junk Mail", "Shared Folders/familymembers/Sent Items"]
         elapsed = 0ms
 2024-09-10T10:20:07Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         size = 881
         contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST () "/" "Deleted Messages"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST () "/" "Important"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST () "/" "Makatikitkikt"\r\n* LIST () "/" "Notes"\r\n* LIST () "/" "Outbox"\r\n* LIST (\\Sent) "/" "Sent"\r\n* LIST (\\Sent) "/" "Sent Items"\r\n* LIST () "/" "Sent Messages"\r\n* LIST (\\Junk) "/" "Spam"\r\n* LIST () "/" "Templates"\r\n* LIST (\\Trash) "/" "Trash"\r\n* LIST (\\NoSelect) "/" "Shared Folders"\r\n* LIST (\\NoSelect) "/" "Shared Folders/familymembers"\r\n* LIST (\\Trash) "/" "Shared Folders/familymembers/Deleted Items"\r\n* LIST (\\Drafts) "/" "Shared Folders/familymembers/Drafts"\r\n* LIST () "/" "Shared Folders/familymembers/Inbox"\r\n* LIST (\\Junk) "/" "Shared Folders/familymembers/Junk Mail"\r\n* LIST (\\Sent) "/" "Shared Folders/familymembers/Sent Items"\r\nA17 OK LIST completed\r\n"
 2024-09-10T10:20:21Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         size = 38
         contents = "A18 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
 2024-09-10T10:20:21Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:21Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:21Z DEBUG IMAP LIST command (imap.list)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         details = ["Archive", "Deleted Items", "Deleted Messages", "Drafts", "INBOX", "Important", "Junk Mail", "Makatikitkikt", "Notes", "Outbox", "Sent", "Sent Items", "Sent Messages", "Spam", "Templates", "Trash", "Shared Folders", "Shared Folders/familymembers", "Shared Folders/familymembers/Deleted Items", "Shared Folders/familymembers/Drafts", "Shared Folders/familymembers/Inbox", "Shared Folders/familymembers/Junk Mail", "Shared Folders/familymembers/Sent Items"]
         elapsed = 0ms
 2024-09-10T10:20:21Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         size = 881
         contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST () "/" "Deleted Messages"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST () "/" "Important"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST () "/" "Makatikitkikt"\r\n* LIST () "/" "Notes"\r\n* LIST () "/" "Outbox"\r\n* LIST (\\Sent) "/" "Sent"\r\n* LIST (\\Sent) "/" "Sent Items"\r\n* LIST () "/" "Sent Messages"\r\n* LIST (\\Junk) "/" "Spam"\r\n* LIST () "/" "Templates"\r\n* LIST (\\Trash) "/" "Trash"\r\n* LIST (\\NoSelect) "/" "Shared Folders"\r\n* LIST (\\NoSelect) "/" "Shared Folders/familymembers"\r\n* LIST (\\Trash) "/" "Shared Folders/familymembers/Deleted Items"\r\n* LIST (\\Drafts) "/" "Shared Folders/familymembers/Drafts"\r\n* LIST () "/" "Shared Folders/familymembers/Inbox"\r\n* LIST (\\Junk) "/" "Shared Folders/familymembers/Junk Mail"\r\n* LIST (\\Sent) "/" "Shared Folders/familymembers/Sent Items"\r\nA18 OK LIST completed\r\n"
 2024-09-10T10:20:21Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 38
         contents = "A23 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
 2024-09-10T10:20:21Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:21Z DEBUG IMAP LIST command (imap.list)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         details = ["Archive", "Deleted Items", "Deleted Messages", "Drafts", "INBOX", "Junk Mail", "Notes", "Outbox", "Sent", "Sent Items", "Spam", "Templates", "Trash"]
         elapsed = 0ms
 2024-09-10T10:20:21Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 395
         contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST () "/" "Deleted Messages"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST () "/" "Notes"\r\n* LIST () "/" "Outbox"\r\n* LIST (\\Sent) "/" "Sent"\r\n* LIST (\\Sent) "/" "Sent Items"\r\n* LIST (\\Junk) "/" "Spam"\r\n* LIST () "/" "Templates"\r\n* LIST (\\Trash) "/" "Trash"\r\nA23 OK LIST completed\r\n"
 2024-09-10T10:20:26Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         size = 38
         contents = "A19 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
 2024-09-10T10:20:26Z TRACE Raw IMAP input received (imap.raw-input)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 38
         contents = "A24 LIST "" "*" RETURN (SPECIAL-USE)\r\n"
 2024-09-10T10:20:26Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:26Z DEBUG IMAP LIST command (imap.list)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         details = ["Archive", "Deleted Items", "Deleted Messages", "Drafts", "INBOX", "Junk Mail", "Notes", "Outbox", "Sent", "Sent Items", "Spam", "Templates", "Trash"]
         elapsed = 0ms
 2024-09-10T10:20:26Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imap"
         localPort = 143
         remoteIp = mobile_ipv6
         remotePort = 62522
         size = 395
         contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST () "/" "Deleted Messages"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST () "/" "Notes"\r\n* LIST () "/" "Outbox"\r\n* LIST (\\Sent) "/" "Sent"\r\n* LIST (\\Sent) "/" "Sent Items"\r\n* LIST (\\Junk) "/" "Spam"\r\n* LIST () "/" "Templates"\r\n* LIST (\\Trash) "/" "Trash"\r\nA24 OK LIST completed\r\n"
 2024-09-10T10:20:26Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:26Z TRACE Data store iteration operation (store.data-iterate)
         elapsed = 0ms
 2024-09-10T10:20:26Z DEBUG IMAP LIST command (imap.list)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         details = ["Archive", "Deleted Items", "Deleted Messages", "Drafts", "INBOX", "Important", "Junk Mail", "Makatikitkikt", "Notes", "Outbox", "Sent", "Sent Items", "Sent Messages", "Spam", "Templates", "Trash", "Shared Folders", "Shared Folders/familymembers", "Shared Folders/familymembers/Deleted Items", "Shared Folders/familymembers/Drafts", "Shared Folders/familymembers/Inbox", "Shared Folders/familymembers/Junk Mail", "Shared Folders/familymembers/Sent Items"]
         elapsed = 0ms
 2024-09-10T10:20:26Z TRACE Raw IMAP output sent (imap.raw-output)
         listenerId = "imaptls"
         localPort = 993
         remoteIp = mobile_ipv6
         remotePort = 62525
         size = 881
         contents = "* LIST () "/" "Archive"\r\n* LIST (\\Trash) "/" "Deleted Items"\r\n* LIST () "/" "Deleted Messages"\r\n* LIST (\\Drafts) "/" "Drafts"\r\n* LIST () "/" "INBOX"\r\n* LIST () "/" "Important"\r\n* LIST (\\Junk) "/" "Junk Mail"\r\n* LIST () "/" "Makatikitkikt"\r\n* LIST () "/" "Notes"\r\n* LIST () "/" "Outbox"\r\n* LIST (\\Sent) "/" "Sent"\r\n* LIST (\\Sent) "/" "Sent Items"\r\n* LIST () "/" "Sent Messages"\r\n* LIST (\\Junk) "/" "Spam"\r\n* LIST () "/" "Templates"\r\n* LIST (\\Trash) "/" "Trash"\r\n* LIST (\\NoSelect) "/" "Shared Folders"\r\n* LIST (\\NoSelect) "/" "Shared Folders/familymembers"\r\n* LIST (\\Trash) "/" "Shared Folders/familymembers/Deleted Items"\r\n* LIST (\\Drafts) "/" "Shared Folders/familymembers/Drafts"\r\n* LIST () "/" "Shared Folders/familymembers/Inbox"\r\n* LIST (\\Junk) "/" "Shared Folders/familymembers/Junk Mail"\r\n* LIST (\\Sent) "/" "Shared Folders/familymembers/Sent Items"\r\nA19 OK LIST completed\r\n"
ErwinSt commented 2 months ago

With all iOS 18 betas I couldn't retrieve mails ( but folders yes) but with the latest iOS 18.1b4 beta it works.

johansmitsnl commented 2 months ago

@ErwinSt your saying that iOS 18.1 fill fix it again so it is an iOS issue not a stalwart issue?

RPochyly commented 2 months ago

iOS 18.1 also fixed it for me. It really seems that it was only an iOS bug and Stalwart worked as it should all along

yannikbloscheck commented 2 months ago

Can you share the acceptable cipher suites on your client and the server?

I don't have disabled any cipher suites in Stalwart. Also the error line you mention is from a different IP and port and therefore a different connection.

yannikbloscheck commented 2 months ago

With all iOS 18 betas I couldn't retrieve mails ( but folders yes) but with the latest iOS 18.1b4 beta it works.

iOS 18.1 also fixed it for me. It really seems that it was only an iOS bug and Stalwart worked as it should all along

Then I hope that Apple will push out an iOS 18.0.1 or 18.0.2 soon, that fixes it, because I suspect that iOS 18.1 only will come out some time in October...

nomadturk commented 2 months ago

Looks more like an Apple issue: https://discussions.apple.com/thread/255760038?sortBy=rank

But @yannikbloscheck, try that test account you have and let us know. Your server and mine have 2 differences:

1- Your ciphers are different. (You disabled TLS v1.2 RSA ciphers?) 2- Mine uses a wildcard, paid SSL certificate with additional chain certificates.

I doubt it will make a difference.

But, If you can connect to that test account, try enabling TLS v1.2 RSA ciphers and give it a go. If you can not connect to that test account, try disabling TLS v1.3 on your end and connecting your server again and give it a go. (As per that Apple thread)

yannikbloscheck commented 2 months ago

I tested with the fresh test account of @nomadturk and the same issue is happening. Thank you again for your help @nomadturk !

Messing with the TLS 1.2 and 1.3 settings didn't change anything for me.

Like I said from the beginning and many other reports show it's likely, that it is some Apple bug in iOS 18. But it doesn't seem to hit everybody. So it still would be good to find the reason behind it and maybe be able to mitigate it somehow.

mdecimus commented 2 months ago

@yannikbloscheck does your TLS certificate have the OCSP Must-Staple flag on by any chance? And, just to make sure this is not related to the IMAP protocol, if you enable clear text authentication and you connect to IMAP over plain-text, does it work?

yannikbloscheck commented 2 months ago

@mdecimus I don't see the OCSP Must-Staple flag as set. It's the default Let's Encrypt certificate requested by Stalwart itself via TLS-ALPN-01.

It doesn't mater, if I use port 993 with implicit TLS or port 143 without. I never have been able to test it completely without TLS, because even when I use the port 143 iOS seems to always sends the STARTTLS command even with SSL disabled and there doesn't seem a way to disable that STARTTLS behaviour completely. I personally don't suspect anything with TLS as the reason, but I just can't completely rule it out either.

The authentication itself works fine as you can see from the logs. It lists all mailbox folders correctly. If I add a new mailbox folder somewhere else, it even appears correctly in iOS Mail. It just doesn't load any new (for it) mail.

If I look at my logs, I find it suspicious that there are IMAP commands starting with A1-A5 and an A7, but none with A6. That's right the place where it should load the missing mails. That seems to me like right the point where it goes wrong. Either that A6 command never gets sent by iOS Mail (maybe because it can't or doesn't correctly handle the response to the A5 command or has some other bug) or for some weird reason that command never reaches Stalwart correctly.

sinclairday commented 2 months ago

Is there a way to disable TLS altogether in Stalwart?

Even without certificates installed, the IMAP service advertises the STARTTLS capability to the client. Naturally, the Mail app will try to use that capability when provided, but doing so can cause Mail to spin a loop, going insane to set up TLS.

In Mail, setting "Use SSL" to off does not mean "do not use encryption even if available." The setting controls whether Mail will open a plain or encrypted socket. With "Use SSL" turned off, Mail will still attempt to upgrade the plain connection to TLS when the server offers STARTTLS.

So, to verify my claim and reduce the problem, I'd like to disable TLS altogether in Stalwart and have IMAP not advertise "STARTTLS" to clients, but glancing at the code suggests it is impossible. I have tried using this configuration :

server.listener.imap.tls.enable = false
server.listener.imap.tls.implicit = false
server.listener.imap.tls.override = false

I have also removed all certificates from the config file and restarted Stalwart.

But IMAP continues to welcome clients with:

OK [CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE SASL-IR LITERAL+ ID UTF8=ACCEPT AUTH=OAUTHBEARER AUTH=PLAIN STARTTLS] Stalwart IMAP4rev2 at your service.

mdecimus commented 2 months ago

The issue has been fixed, and it was related to the IMAP IDLE command rather than TLS.

Starting with iOS 18, Apple Mail began using a technique called "pipelining," where multiple IMAP commands are sent together in a single network packet. Specifically, after the IDLE command is terminated with the DONE command, iOS 18 was immediately sending other commands in the same packet.

Although Stalwart supports command pipelining, it was not prepared to handle this scenario. When it received the DONE command, it stopped processing the rest of the packet and ignored any subsequent commands that followed. This caused Apple Mail to get stuck, as its subsequent requests were not being processed correctly.

The issue advertising STARTTLS when TLS had been disabled reported by @sinclairday has also been fixed.

This fix is going to be included in version 0.10.0 which should be released within the next 3 days. Do not compile and run the version from main as it includes breaking changes that have not been documented yet.

yannikbloscheck commented 2 months ago

Can confirm that now with Stalwart 0.10.0 everything works fine again with iOS 18. Thank you very much for the quick fix!

(If somebody still has problems like some stuck messages after the update to Stalwart 0.10.0, I recommend removing and adding the affected accounts again in the iOS Mail settings)

fallenhitokiri commented 2 months ago

All looking good again, thanks for the quick fix!

Terminating Mail.app with a swipe up and reopening it was enough to get the account to sync.