go-imap
go-imap copied to clipboard
v2: client status
Continuation of https://github.com/emersion/go-imap/pull/490
- [ ] Consider adding separate types for
FetchItemData{Body,Binary}Section.Section
- [x] Add support for
LITERAL+
- [x] ~~Add IMAP4rev1 fallback for IDLE~~ (#543)
- [x] Consider restarting IDLE every 30min (#542)
- [x] Consider setting SEARCH charset for IMAP4rev1
- [ ]
ENABLE IMAP4rev2
on servers which also support IMAP4rev1 - [x] ~~Consider turning
SearchCriteria.Not
into a pointer, instead of a slice~~ (#505) - [x] Add support for NAMESPACE
- [x] Add support for ESEARCH
- [x] Add support for SEARCHRES
- [x] Decode
literal8
- [ ] Make command methods extensible (see RFC 4466)
- [x] Canonicalize message flags and mailbox attrs
- [x] Parse date in envelope
- [x] Add tests which can run against any IMAP server
- [x] Consider turning lists of items into bool fields (e.g.
SearchOptions.Return
) - [x] Drop
Client.StartTLS
in favor of a function which constructs an already-secured TLS connection - [ ] Ignore responses that don't make sense given the connection state (section 11.3)
- [ ] Consider re-using the same
*FetchBodySection
pointers in the returned map, or make it easier to match a*FetchBodySection
from a command - [ ] Drop
Command
because it's not extensible - [ ] Some values can be either seq num or UID, how to represent these? Examples:
SearchData.Min/Max
,SortCommand.Wait
,ThreadData.Chain
. Should we add separate UID types for each? - [x] Add support for more extensions
- [x] METADATA
- [x] QUOTA (#492)
- [x] SORT
- [x] THREAD