Commit Graph
236 Commits
Author SHA1 Message Date
Oliver Drobnik bb8db8c36a implement multiple internal connections 2026-01-22 22:01:27 +01:00
Oliver Drobnik 20687ea0ee Add per-mailbox IDLE connections and demo handling 2026-01-22 19:15:15 +01:00
Oliver Drobnik 84a5b44aab Implemented command queueing so that one command is fully done before the next gets sent on the channel, Refactor AppendCommand 2026-01-16 21:53:24 +01:00
Oliver Drobnik 67ed8cb71e Merge pull request #77 from RomainPct/origin/romainpct/mod-seq-search-criteria 2025-11-14 09:20:33 +01:00
Romain Penchenat 72f4781801 Add "modSeq" operator support for SearchCriteria 2025-11-13 23:53:23 +01:00
Romain Penchenat 941f708d06 Add "and" operator support for SearchCriteria 2025-11-13 23:41:24 +01:00
Oliver Drobnik 44316aa16d begin APPEND 2025-11-10 12:18:08 +01:00
Oliver Drobnik 19267f2f02 Fixed double handling of promise #75 2025-11-10 11:32:01 +01:00
Oliver Drobnik cb7d0432ec Refactor capabilities updating 2025-11-10 11:01:21 +01:00
Cory Bohon b10b126473 Add CREATE command support for folder creation
- Added CreateMailboxCommand to send IMAP CREATE commands
- Added CreateMailboxHandler to process CREATE responses
- Added public createMailbox() method to IMAPServer
- Supports creating nested folders with "/" delimiter (e.g., "Work/Projects")

This enables Mail Sorter and other clients to programmatically create
new folders on IMAP servers without requiring manual folder creation.
2025-11-08 22:06:32 -05:00
Oliver Drobnik 3369de8d64 Expose BCC recipients in IMAP message metadata 2025-09-30 19:32:07 +02:00
Oliver Drobnik 1aedbd04ec Avoid unnecessary buffer creation 2025-09-18 15:07:47 +02:00
Oliver Drobnik 544efd8c5a Add IMAP XOAUTH2 authentication handler and tests 2025-09-18 11:14:35 +02:00
Oliver Drobnik 164a7f5bff feat: handle inline CID parts 2025-09-15 15:36:25 +02:00
Olof Thorén 3e49f013ae Support crosscompile 2025-09-12 23:40:00 +02:00
Oliver Drobnik cd1c71f7df Remove whitespace normalization in sanitized filenames 2025-09-11 12:17:32 +02:00
Oliver Drobnik c6fa3a28c4 Fetch messages sequentially to preserve IMAP order 2025-09-09 06:36:34 +02:00
Oliver Drobnik a904e2e1ee Handle unsolicited fetch data in FetchPartHandler 2025-09-08 12:17:17 +02:00
Oliver Drobnik 35af2c119f Fix MIME header Q-encoding decoding and add test 2025-09-04 16:30:38 +02:00
Oliver Drobnik 76f10dfce2 Add lossy quoted-printable decoding 2025-09-04 15:05:45 +02:00
Oliver Drobnik 24f3d0a85a SearchCriteria: complete toNIO mappings (header, larger, smaller, uid)
Map to NIOIMAPCore.SearchKey: .header(field,value), .messageSizeLarger, .messageSizeSmaller, and a single-UID set via LastCommandSet.uid(.set).
2025-09-04 11:06:46 +02:00
Oliver Drobnik 9a5e0eb1b2 Increase parser line limit to avoid exception on large SEARCH #52 2025-09-04 10:36:56 +02:00
Oliver Drobnik 813cda05f8 Decode MIME-encoded attachment filenames 2025-09-04 10:27:50 +02:00
Oliver Drobnik e79e0ead67 checkpoint 2025-09-02 10:34:25 +02:00
Oliver Drobnik 0ad34ba8dd Refactor fetching into async sequence #52 2025-09-02 10:26:30 +02:00
Oliver Drobnik cf3a906596 Merge pull request #54 from Cocoanetics/codex/implement-async-sequence-for-message-fetch
Add streaming message fetch
2025-09-02 09:42:25 +02:00
Oliver Drobnik 1aabc5dc89 Remove limit parameter from fetch APIs 2025-09-02 09:41:28 +02:00
Oliver Drobnik 4b9912c862 Add demo to CLI Demo how to get unseen count without search 2025-09-02 09:35:49 +02:00
Oliver Drobnik 0b2c9cda66 Remove getUnseenCount() because it does a SEARCH and can run out of payload size #49 2025-09-02 09:20:23 +02:00
Oliver Drobnik 6d354667c1 Move Flag's Equatable conformance to separate extension file 2025-08-30 13:48:43 +02:00
Oliver Drobnik 42731fa7bb Implemented STATUS command to get unseen count #49 2025-08-27 21:04:11 +02:00
Oliver Drobnik ca91ffedea try to fix warning during CI test 2025-08-27 19:23:48 +02:00
Oliver Drobnik 1da9fb021f Add more safety checking to DONE command #47 2025-08-27 19:11:34 +02:00
Oliver Drobnik 6ac25c0d4f Fixed sendable warning in SMTPServer 2025-08-27 10:52:44 +02:00
Oliver Drobnik b954caa50a Fixed senable warnings in IMAPServer 2025-08-27 10:39:52 +02:00
Oliver Drobnik 3ffbcf28e4 Try to reestablish channel if IMAPServer gets reused #47 2025-08-27 10:10:18 +02:00
Oliver Drobnik 17d3ab8125 Refactor finding html and text body #43 2025-08-25 10:26:16 +02:00
Oliver Drobnik f02ba6b8f3 Fix linux build 2025-08-24 16:45:00 +02:00
Oliver Drobnik 303a930629 Added unit test for quoted-printable in HTML 2025-08-24 16:07:19 +02:00
Oliver Drobnik 5503f866d2 make charset determination more robust 2025-08-24 16:00:02 +02:00
Oliver Drobnik dbea3d80b7 simplify quoted printable decoding 2025-08-24 14:53:00 +02:00
Oliver Drobnik f1f250e8d3 improve decoding #43 2025-08-24 11:53:37 +02:00
Oliver Drobnik f2129db5e6 Default MessageInfo recipient arrays to empty 2025-08-10 18:03:24 +01:00
Oliver Drobnik c564f44b76 remove automatic done on cancel #31 2025-07-22 23:36:54 +02:00
Oliver Drobnik 241fbb8321 avoid double IDLE termination #31 2025-07-22 23:02:54 +02:00
Oliver Drobnik 10945707c9 send BYE in IDLE when task is cancelled 2025-07-22 19:48:25 +02:00
Oliver Drobnik 37d58742c0 Merge pull request #42 from Cocoanetics/d2mo1j-codex/replace-orderedcollection-with-struct-for-id-command 2025-07-22 16:25:39 +02:00
Oliver Drobnik f8b60fb85e Replace ID command dictionary with Identification struct 2025-07-22 16:25:22 +02:00
Oliver Drobnik a7eeb67ac3 Add GETQUOTAROOT command 2025-07-22 16:23:02 +02:00
Oliver Drobnik da26c59ecd Merge branch 'main' into codex/implement-id-command-for-imapserver 2025-07-22 15:52:18 +02:00