Manos Pitsidianakis
bb486ca9d8
melib: Remove quotes from addresses in email/parser.rs
5 years ago
Manos Pitsidianakis
3dfb2f4f2c
melib: fix out-of-bounds parser bug
5 years ago
Manos Pitsidianakis
58209d6f6b
Replace some panics with errors
5 years ago
Manos Pitsidianakis
ce646abc7a
ui: add send confirmation dialog in compose tab
...
Confirm before sending mail
5 years ago
Manos Pitsidianakis
51628ac9d2
ui: move list_management mod to melib
...
list_management module includes some small functions to handle mailing
list metadata (List-* headers)
5 years ago
Manos Pitsidianakis
449a24d075
ui: ListActions changes
...
- Parse List-Post value like List-Unsubscribe: comma separated angle bracket limited list of <mailto:> or <url> values
- Check if List-Archive value is angle bracket delimited
5 years ago
Manos Pitsidianakis
fc2d9a684d
melib/imap: set has_attachments based on BODYSTRUCTURE
...
fetch BODYSTRUCTURE along with ENVELOPE from server and set
has_attachments based on the MIME structure of the envelope.
Notes: BODYSTRUCTURE returns the MIME structure of the envelope without
the data, so if it includes a multipart/mixed it *should* have
attachments.
ENVELOPE returns basic headers of the message like Sender, Subject, Date
etc.
5 years ago
Manos Pitsidianakis
953c3aa9d0
melib: Add parameters field in ContentType::Text
...
Intending to add the option to set the parameter format=flowed in the
next commits
5 years ago
Manos Pitsidianakis
04e1137b36
melib: add "On ${date} ${author} wrote" heading in replies
5 years ago
Manos Pitsidianakis
56cda63c83
Fix some warnings
5 years ago
Manos Pitsidianakis
dce1c39b48
ui: add mailcap support
5 years ago
Manos Pitsidianakis
06d99c7f92
ui: Add save attachment command
...
use as `save-attachment ATTACHMENT_INDEX PATH`
5 years ago
Manos Pitsidianakis
a907b9c21d
Fix melib test errors
5 years ago
Manos Pitsidianakis
e600b0252f
text_processing: add line_break method
...
In preparation for format=flowed support, add a line_break method in the
text_processing Trait, now renamed from Graphemes to TextProcessing.
5 years ago
Manos Pitsidianakis
098982015b
ui/conversations: show all participating addresses in entry
...
Show all unique From: values of addresses in thread entries in
Conversations
5 years ago
Manos Pitsidianakis
1a02491f04
ui/compose: add modification detection
...
Detect if modifications were done to the draft in the compose tab so
that we can ask for confirmation if user wants to quit an unsaved draft.
5 years ago
Manos Pitsidianakis
47d60f480a
Add path shell expansion to logging and attachments
5 years ago
Manos Pitsidianakis
e35a93336a
Add GPG signing and sig verifying
5 years ago
Manos Pitsidianakis
250129665b
Pass attachment names through decoding
...
Attachment names in Content-Type parameters can be encoded (eg
=?UTF-8...), so try decoding with phrase() first
5 years ago
Manos Pitsidianakis
68c40a2920
melib: return Result with error when an IO operation fails
...
Don't unwrap anything because this might be temporary, for example a
short IMAP disconnection.
5 years ago
Manos Pitsidianakis
c44056a9ff
melib: fix bug in parser::parts
...
At a certain point when expecting a line terminator parts() checks for
'\n' but not '\r\n'. This resulted in all multipart attachments coming
from b"\r\n" sources like IMAP having only one part when parsed.
5 years ago
Manos Pitsidianakis
91ae539de1
Small fixes
5 years ago
Manos Pitsidianakis
f27b815aa7
Add verification of GPG signed messages
5 years ago
Manos Pitsidianakis
9305e543cf
melib: add a `body` field to Attachment
...
Attachment needs to know the range of bytes where the body part of the
attachment is located. The Attachment.raw field contains the entire
attachment, headers and body. The new Attachment.body fields contains a
`StrBuilder` which contains the offset and length of the body part inside
`raw`.
5 years ago
Manos Pitsidianakis
6e75160b70
melib: turn unicode algos and backends into features
5 years ago
Manos Pitsidianakis
f066f35410
melib: add get_tags to support subaddressing
5 years ago
Manos Pitsidianakis
bee1502499
melib: make References public
5 years ago
Manos Pitsidianakis
32fe8a8b9b
melib: move email.rs back
5 years ago
Manos Pitsidianakis
7accae1774
melib: split address.rs from email.rs
5 years ago
Manos Pitsidianakis
b08001ca5d
melib: create address.rs from email.rs
5 years ago
Manos Pitsidianakis
ecb3fd7f3d
Add dyn keyword to Trait objects
...
And fix some unused var warnings as well
5 years ago
Manos Pitsidianakis
0812242f60
Add IMAP backend
...
TODOs: new message events (untagged responses)
5 years ago
Matthias Beyer
79becdcc42
Fix: This comment is not a proper rustdoc comment and probably should not be one anyways
...
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
5 years ago
Matthias Beyer
fb36dc58c8
Remove unused variable
...
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
5 years ago
Manos Pitsidianakis
2492bc91b2
melib: add attachment_from_file()
5 years ago
Manos Pitsidianakis
c87ed5012d
melib: add attachment support in email/compose.rs
5 years ago
Manos Pitsidianakis
391e5b5d13
melib: tighten bounds check in email/parser.rs
5 years ago
Manos Pitsidianakis
d73069bc80
melib: add Other and OctetStream content types
5 years ago
Manos Pitsidianakis
c17bb24f0d
melib: refactor attachments and attachment_types interfaces
5 years ago
Manos Pitsidianakis
572944e917
melib: add version from Cargo manifest to User-Agent field
5 years ago
Manos Pitsidianakis
d84ceca88e
create text_processing crate
5 years ago
Manos Pitsidianakis
8ab79d5829
fix missing grapheme in mime encoded string
5 years ago
Manos Pitsidianakis
6906142278
melib: don't exclude whitespaces in mime encoded words
5 years ago
Manos Pitsidianakis
f33594fba8
melib: reply to In-Reply-To address if available
5 years ago
Manos Pitsidianakis
ba1d0c42e0
melib: add struct and parser for mailto: links
5 years ago
Manos Pitsidianakis
24831b3c13
Fix warnings, lints, and 2018 errors
5 years ago
Manos Pitsidianakis
5a9ee50bbc
don't add newlines in encoded words
5 years ago
Manos Pitsidianakis
f0bd999f8c
parser: fix empty header value when header is last or when prefixed with
...
'\n'
when an empty header is last, the rest of the body keeps getting parsed
as headers. when header starts with '\n' because the value is long, the
value gets parsed as a name and the header parser fails.
closes #100
closes #101
closes #122
5 years ago
Manos Pitsidianakis
8a07087393
add testing crate with emailparse bin
5 years ago
Manos Pitsidianakis
d0039740b0
melib: add has_attachments property to Envelope
...
Check subattachments in has_attachments check.
Instead of getting a flattened attachment view of multipart/mixed (eg
[multipart/mixed, text/plain, text/plain]) get only the subattachments
(eg [text/plain, text/plain]). Don't count text-only multipart/mixed as attachments
5 years ago
Manos Pitsidianakis
c6674a294d
melib: unwrap mailbox module
5 years ago