meli-terminal-mail-client/melib/src
Manos Pitsidianakis 59513b2670
melib/jmap: implement Backend::submit(), server-side submission
Well this was more complex that it should have been. And not very
optimized because we're not using pipelining in the submit() path:

1. first upload email bytes as a Blob object. This requires a standalone
   API post call at a specific url so it cannot be changed with followup
   calls to reference the blob's id.
2. Create an EmailObject in the drafts folder.
3. Create an EmailSubmission object referencing the email id of prevous
   call. Unfortunately I cannot get the Result Reference to work in
   stalwart jmap, so for now this is too a separate transaction.

Caveat emptor: Errors might not be returned to the user.

Closes #277.

https://git.meli.delivery/meli/meli/issues/277

https://git.meli.delivery/meli/meli/pulls/279

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-08-28 17:16:38 +03:00
..
addressbook Normalize std::fmt::* imports 2023-08-11 13:16:47 +03:00
backends melib: move backends out of the backends module 2023-07-22 22:17:01 +03:00
email clippy: fix new 1.72 default clippy lints 2023-08-25 19:49:26 +03:00
gpgme Update bitflags, rusqlite dependencies 2023-08-25 08:22:36 +03:00
imap Update bitflags, rusqlite dependencies 2023-08-25 08:22:36 +03:00
jmap melib/jmap: implement Backend::submit(), server-side submission 2023-08-28 17:16:38 +03:00
maildir Normalize std::fmt::* imports 2023-08-11 13:16:47 +03:00
mbox melib: do some small parser refactoring 2023-08-24 11:32:21 +03:00
nntp melib/connections: use Happy Eyeballs algorithm Ꙭ 2023-08-15 09:55:46 +03:00
notmuch clippy: fix new 1.72 default clippy lints 2023-08-25 19:49:26 +03:00
text_processing clippy: fix new 1.72 default clippy lints 2023-08-25 19:49:26 +03:00
thread listing/thread: fix display of threaded conversations tree structure 2023-07-03 09:46:28 +03:00
utils clippy: fix new 1.72 default clippy lints 2023-08-25 19:49:26 +03:00
addressbook.rs contacts: prevent duplicate contact creation 2023-08-23 17:29:21 +03:00
backends.rs clippy: fix new 1.72 default clippy lints 2023-08-25 19:49:26 +03:00
collection.rs melib: clippy lint fixes 2023-07-03 09:38:47 +03:00
conf.rs melib/jmap: implement Backend::submit(), server-side submission 2023-08-28 17:16:38 +03:00
email.rs Update bitflags, rusqlite dependencies 2023-08-25 08:22:36 +03:00
error.rs melib/error: impl From<io::ErrorKind> for ErrorKind 2023-08-19 09:11:59 +03:00
lib.rs melib/jmap: use IndexMap instead of HashMap 2023-08-28 14:12:05 +03:00
search.rs melib: clippy lint fixes 2023-07-03 09:38:47 +03:00
sieve.rs melib: clippy lint fixes 2023-07-03 09:38:47 +03:00
smtp.rs melib/connections: use Happy Eyeballs algorithm Ꙭ 2023-08-15 09:55:46 +03:00
thread.rs melib: move Sort{Order,Field} to utils mod 2023-08-21 12:41:50 +03:00