1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
//! Rust library to manage emails.
//!
//! The main purpose of this library is to help people to build custom
//! email interfaces without caring about how to connect to an IMAP
//! server or how to send an email via SMTP.
//!
//! This goal is achieved by exposing a
//! [`Backend`](crate::backend::Backend) struct which is just a set of
//! customizable features like adding a folder, listing envelopes or
//! sending a message. You also have access to a
//! [`BackendBuilder`](crate::backend::BackendBuilder) which helps to
//! build a custom backend.
//!
//! The library also exposes pre-configured backend features for
//! Maildir, IMAP, Notmuch, SMTP and Sendmail.
//!
//! See examples in the `/tests` folder.
//!
//! ## Backend features
//!
//! ### Folder
//!
//! - [`AddFolder`](crate::folder::add::AddFolder)
//! - [`ListFolders`](crate::folder::list::ListFolders)
//! - [`ExpungeFolder`](crate::folder::expunge::ExpungeFolder)
//! - [`PurgeFolder`](crate::folder::purge::PurgeFolder)
//! - [`DeleteFolder`](crate::folder::delete::DeleteFolder)
//!
//! ### Envelope
//!
//! - [`ListEnvelopes`](crate::envelope::list::ListEnvelopes)
//! - [`GetEnvelope`](crate::envelope::get::GetEnvelope)
//!
//! ### Flag
//!
//! - [`AddFlags`](crate::flag::add::AddFlags)
//! - [`SetFlags`](crate::flag::set::SetFlags)
//! - [`RemoveFlags`](crate::flag::remove::RemoveFlags)
//!
//! ### Message
//!
//! - [`AddRawMessage`](crate::message::add_raw::AddRawMessage)
//! - [`AddRawMessageWithFlags`](crate::message::add_raw_with_flags::AddRawMessageWithFlags)
//! - [`PeekMessages`](crate::message::peek::PeekMessages)
//! - [`GetMessages`](crate::message::get::GetMessages)
//! - [`CopyMessages`](crate::message::copy::CopyMessages)
//! - [`MoveMessages`](crate::message::move_::MoveMessages)
//! - [`DeleteMessages`](crate::message::delete::DeleteMessages)
//! - [`SendRawMessage`](crate::message::send_raw::SendRawMessage)
pub
pub use crate::;