pub enum Comparator {
ReceivedAt,
Size,
From,
To,
Subject,
SentAt,
HasKeyword {
keyword: String,
},
AllInThreadHaveKeyword {
keyword: String,
},
SomeInThreadHaveKeyword {
keyword: String,
},
Cc,
}
Variants§
ReceivedAt
Size
From
To
Subject
SentAt
HasKeyword
AllInThreadHaveKeyword
SomeInThreadHaveKeyword
Cc
Implementations§
Source§impl Comparator
impl Comparator
pub fn received_at() -> Comparator<Comparator>
pub fn size() -> Comparator<Comparator>
Sourcepub fn from() -> Comparator<Comparator>
pub fn from() -> Comparator<Comparator>
Examples found in repository?
examples/messages.rs (line 78)
33async fn messages() {
34 // Connect to the JMAP server using Basic authentication
35 let client = Client::new()
36 .credentials(("john@example.org", "secret"))
37 .connect("https://jmap.example.org")
38 .await
39 .unwrap();
40
41 // Query mailboxes to obtain Inbox and Trash folder id
42 let inbox_id = client
43 .mailbox_query(
44 mailbox::query::Filter::role(Role::Inbox).into(),
45 None::<Vec<_>>,
46 )
47 .await
48 .unwrap()
49 .take_ids()
50 .pop()
51 .unwrap();
52 let trash_id = client
53 .mailbox_query(
54 mailbox::query::Filter::role(Role::Trash).into(),
55 None::<Vec<_>>,
56 )
57 .await
58 .unwrap()
59 .take_ids()
60 .pop()
61 .unwrap();
62
63 // Import message into inbox
64 client
65 .email_import(TEST_MESSAGE.to_vec(), [&inbox_id], ["$draft"].into(), None)
66 .await
67 .unwrap();
68
69 // Query mailbox
70 let email_id = client
71 .email_query(
72 Filter::and([
73 email::query::Filter::subject("test"),
74 email::query::Filter::in_mailbox(&inbox_id),
75 email::query::Filter::has_keyword("$draft"),
76 ])
77 .into(),
78 [email::query::Comparator::from()].into(),
79 )
80 .await
81 .unwrap()
82 .take_ids()
83 .pop()
84 .unwrap();
85
86 // Fetch message
87 let email = client
88 .email_get(
89 &email_id,
90 [Property::Subject, Property::Preview, Property::Keywords].into(),
91 )
92 .await
93 .unwrap()
94 .unwrap();
95 assert_eq!(email.preview().unwrap(), "This is a test.");
96 assert_eq!(email.subject().unwrap(), "Testing JMAP client");
97 assert_eq!(email.keywords(), ["$draft"]);
98
99 // Remove the $draft keyword
100 client
101 .email_set_keyword(&email_id, "$draft", false)
102 .await
103 .unwrap();
104
105 // Replace all keywords
106 client
107 .email_set_keywords(&email_id, ["$seen", "$important"])
108 .await
109 .unwrap();
110
111 // Move the message to the Trash folder
112 client
113 .email_set_mailboxes(&email_id, [&trash_id])
114 .await
115 .unwrap();
116
117 // Destroy the e-mail
118 client.email_destroy(&email_id).await.unwrap();
119}
pub fn to() -> Comparator<Comparator>
pub fn cc() -> Comparator<Comparator>
pub fn subject() -> Comparator<Comparator>
pub fn sent_at() -> Comparator<Comparator>
pub fn has_keyword(keyword: impl Into<String>) -> Comparator<Comparator>
pub fn all_in_thread_have_keyword( keyword: impl Into<String>, ) -> Comparator<Comparator>
pub fn some_in_thread_have_keyword( keyword: impl Into<String>, ) -> Comparator<Comparator>
Trait Implementations§
Source§impl Clone for Comparator
impl Clone for Comparator
Source§fn clone(&self) -> Comparator
fn clone(&self) -> Comparator
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for Comparator
impl Debug for Comparator
Auto Trait Implementations§
impl Freeze for Comparator
impl RefUnwindSafe for Comparator
impl Send for Comparator
impl Sync for Comparator
impl Unpin for Comparator
impl UnwindSafe for Comparator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more