Manos Pitsidianakis
8e036f045c
melib/imap: accept literal astrings in bodystructure
2 years ago
Manos Pitsidianakis
38eff71971
IMAP: don't show \Recent flag as tag
Closes #74
2 years ago
Manos Pitsidianakis
9bafba3905
melib/imap: don't print raw bytes in debug prints
2 years ago
Manos Pitsidianakis
98949a4a72
melib/imap: expand special mailbox detection cases
2 years ago
Manos Pitsidianakis
64a2af3777
melib/email: smarter attachment detection
Look for Content-Disposition: attachment to detect attachments
2 years ago
Manos Pitsidianakis
3618bdcffb
melib/imap: treat server input as bytes
Server input was assumed valid ascii and converted haphazardly to &str.
Don't do that, since it might not be valid UTF8.
2 years ago
Manos Pitsidianakis
9b0180fdbc
melib/email/parser: impl RFC5322 parser for dates
2 years ago
Manos Pitsidianakis
670675edcc
melib/imap: impl LIST-EXTENDED
Closes #69
2 years ago
Manos Pitsidianakis
c6c0da7fcb
melib: cleanup commit
Cleanup melib module exports, add some document tests, change some
documentation.
2 years ago
Manos Pitsidianakis
d14f26569e
melib/email/parser: Add rfc5322 compliant parser for MessageID
2 years ago
Manos Pitsidianakis
b4fe34eacf
melib/imap: add ImapCache trait
2 years ago
Manos Pitsidianakis
8c6c9806b5
Fix some clippy lints
2 years ago
Manos Pitsidianakis
f7c9f21575
melib/imap: add CONDSTORE support
Closes #52
2 years ago
Manos Pitsidianakis
0f3bf858a3
melib/imap: impl UNSELECT via nonexistent mailbox
2 years ago
Manos Pitsidianakis
876e1bc510
melib/imap: turn ImapResponse From to TryFrom
2 years ago
Manos Pitsidianakis
32b4c30fee
melib/email.rs: use SmallVec for Address fields
3 years ago
Manos Pitsidianakis
031e81ac8f
imap: add UntaggedResponse::UIDFetch
3 years ago
Manos Pitsidianakis
f41a1ffe3a
imap: remove FLAGS.SILENT from STOREs
Flag updates were not received, because FLAGS.SILENT was used.
3 years ago
Manos Pitsidianakis
5a5408ecd5
imap: small fixes
3 years ago
Manos Pitsidianakis
6121f77853
imap: support LIST-STATUS
3 years ago
Manos Pitsidianakis
350c8033b1
imap: use ImapLineIterator in imap_mailboxes()
3 years ago
Manos Pitsidianakis
e49c293b01
imap: impl DoubleEndedIterator for ImapLineIterator
3 years ago
Manos Pitsidianakis
931863436d
imap: remove blocking imap backend, replace with async
3 years ago
Manos Pitsidianakis
a7e177586a
Fix clippy lints
3 years ago
Manos Pitsidianakis
bbedeed3e3
More imap async fixes
3 years ago
Manos Pitsidianakis
e06308fed2
MailBackend: change more methods to Futures
3 years ago
Manos Pitsidianakis
d7444a5b19
imap: recognize EXPUNGE events
3 years ago
Manos Pitsidianakis
fda947f8fb
imap.rs: fix two warnings
3 years ago
Manos Pitsidianakis
c08ceae97c
imap: add status_response() parser
3 years ago
Manos Pitsidianakis
c7835ccc13
imap: add mailbox_token() parser
3 years ago
Manos Pitsidianakis
01e1f4111c
imap: make hostname optional in ENVELOPE address parser
3 years ago
Manos Pitsidianakis
79b2e20557
imap: add message to Badcharset, Permanentflags responses
3 years ago
Manos Pitsidianakis
3703ae762e
imap: show reason for error on invalid uid fetch response
3 years ago
Manos Pitsidianakis
af4ad19169
imap: add chain_err_summary error descriptions
3 years ago
Manos Pitsidianakis
75f9256a50
email/parser: change Error type to include error location
Add ParsingError type that includes a string with the location and
possibly an explanation for the error.
3 years ago
Manos Pitsidianakis
6ec249dd7f
melib: update nom dependency from 3.2.0 to 5.1.1
That was hecking exhausting
3 years ago
Manos Pitsidianakis
815ff98acc
imap: add smarter untagged reply detection
3 years ago
Manos Pitsidianakis
6079909f9c
imap: add managesieve connection
So far only the connection is implemented, and using the
testing/manage_sieve binary you can get a shell to a managesieve server.
The managesieve interface will be used in the UI from a plugin, but the
plugin's interface isn't implemented yet.
3 years ago
Manos Pitsidianakis
ca51077f53
imap: Add support for untagged FETCH (FLAG.. messages
IDLE connection can get untagged "* FETCH (FLAGS ({flag_list))" messages
if any client has changed flags. Support this refresh event.
3 years ago
Manos Pitsidianakis
33c1bf6558
Add consume newlines flag to phrase()
3 years ago
Manos Pitsidianakis
4ac52d9d5b
Replace every use of Folder with Mailbox
Use Mailbox for consistency.
3 years ago
Manos Pitsidianakis
f208948651
melib: add mailbox delete/create to IMAP
3 years ago
Manos Pitsidianakis
6a096dd405
Add missing copyright preambles
3 years ago
Manos Pitsidianakis
77d9cef6fc
melib/imap: small fixes
- Ignore final line ("M__ OK ...") when parsing FETCH response.
- Remove unnecessary import and reword some error messages
3 years ago
Manos Pitsidianakis
7f8c638361
melib/imap: add mailbox creation ability
3 years ago
Manos Pitsidianakis
ca7d72e732
melib: Replace String with Cow<'static, str>
3 years ago
Manos Pitsidianakis
21526b5faf
melib: make Work use FnOnce closures
There was no need to use Fn() instead of FnOnce()
3 years ago
Manos Pitsidianakis
9211913405
meli/backends: honor mailbox subscriptions in IMAP/JMAP
3 years ago
Manos Pitsidianakis
2b6f6ab42c
melib: Add BackendFolder methods, move special usage logic to backend
- add count() method to return (unseen, total) counts
- add is_subscribed()
- add set_special_usage() and set_is_subscribed()
concerns #8
3 years ago
Manos Pitsidianakis
7732b851e6
melib: fix minor header parsing errors
- set_subject checked if last byte was control character instead of last
character. Characters can be multi-byte, duh.
- email::parser::date didn't provide for Date values that had -0000
instead of +0000 (that's a chrono requirement/bug)
3 years ago