Commit
+49 -14 +/-4 browse
1 | diff --git a/Cargo.lock b/Cargo.lock |
2 | index 4647ae5..db4f3b7 100644 |
3 | --- a/Cargo.lock |
4 | +++ b/Cargo.lock |
5 | @@ -696,6 +696,16 @@ dependencies = [ |
6 | ] |
7 | |
8 | [[package]] |
9 | + name = "gethostname" |
10 | + version = "1.0.0" |
11 | + source = "registry+https://github.com/rust-lang/crates.io-index" |
12 | + checksum = "4fd4b8790c0792e3b11895efdf5f289ebe8b59107a6624f1cce68f24ff8c7035" |
13 | + dependencies = [ |
14 | + "rustix", |
15 | + "windows-targets 0.52.6", |
16 | + ] |
17 | + |
18 | + [[package]] |
19 | name = "getrandom" |
20 | version = "0.2.15" |
21 | source = "registry+https://github.com/rust-lang/crates.io-index" |
22 | @@ -735,6 +745,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" |
23 | checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" |
24 | |
25 | [[package]] |
26 | + name = "hashify" |
27 | + version = "0.2.6" |
28 | + source = "registry+https://github.com/rust-lang/crates.io-index" |
29 | + checksum = "f208758247e68e239acaa059e72e4ce1f30f2a4b6523f19c1b923d25b7e9cceb" |
30 | + dependencies = [ |
31 | + "proc-macro2", |
32 | + "quote", |
33 | + "syn", |
34 | + ] |
35 | + |
36 | + [[package]] |
37 | name = "heck" |
38 | version = "0.5.0" |
39 | source = "registry+https://github.com/rust-lang/crates.io-index" |
40 | @@ -1179,15 +1200,15 @@ dependencies = [ |
41 | |
42 | [[package]] |
43 | name = "mail-auth" |
44 | - version = "0.6.0" |
45 | + version = "0.6.1" |
46 | source = "registry+https://github.com/rust-lang/crates.io-index" |
47 | - checksum = "b07f5abe750633593de4a5b1d84c6c7fbe54313c105732cddc7f3aa205d1e31e" |
48 | + checksum = "971b381e86bc19e81d7f4b5ffa3328a15fb7e2998fec82a82f4f144e65c73f5f" |
49 | dependencies = [ |
50 | "ahash", |
51 | "flate2", |
52 | "hickory-resolver", |
53 | - "mail-builder", |
54 | - "mail-parser", |
55 | + "mail-builder 0.4.1", |
56 | + "mail-parser 0.10.2", |
57 | "quick-xml", |
58 | "quick_cache", |
59 | "ring 0.17.8", |
60 | @@ -1207,6 +1228,15 @@ dependencies = [ |
61 | ] |
62 | |
63 | [[package]] |
64 | + name = "mail-builder" |
65 | + version = "0.4.1" |
66 | + source = "registry+https://github.com/rust-lang/crates.io-index" |
67 | + checksum = "f2d2c992d0b4d0acedb466c5524bb09327f4d0bb5bcfacea13005ec01c09f2ac" |
68 | + dependencies = [ |
69 | + "gethostname 1.0.0", |
70 | + ] |
71 | + |
72 | + [[package]] |
73 | name = "mail-parser" |
74 | version = "0.9.4" |
75 | source = "registry+https://github.com/rust-lang/crates.io-index" |
76 | @@ -1217,6 +1247,16 @@ dependencies = [ |
77 | ] |
78 | |
79 | [[package]] |
80 | + name = "mail-parser" |
81 | + version = "0.10.2" |
82 | + source = "registry+https://github.com/rust-lang/crates.io-index" |
83 | + checksum = "187a2b93c4c8c32f552ee06c2d99915e575de2fc7e04b07891c9edfee5b8edd6" |
84 | + dependencies = [ |
85 | + "encoding_rs", |
86 | + "hashify", |
87 | + ] |
88 | + |
89 | + [[package]] |
90 | name = "maildir" |
91 | version = "0.6.4" |
92 | source = "registry+https://github.com/rust-lang/crates.io-index" |
93 | @@ -1249,8 +1289,8 @@ dependencies = [ |
94 | "hickory-resolver", |
95 | "lettre", |
96 | "mail-auth", |
97 | - "mail-builder", |
98 | - "mail-parser", |
99 | + "mail-builder 0.3.2", |
100 | + "mail-parser 0.9.4", |
101 | "maildir", |
102 | "md5", |
103 | "port_check", |
104 | diff --git a/Cargo.toml b/Cargo.toml |
105 | index 909b238..72ff511 100644 |
106 | --- a/Cargo.toml |
107 | +++ b/Cargo.toml |
108 | @@ -10,7 +10,7 @@ bytes = "1.9.0" |
109 | email_address = "0.2.9" |
110 | futures = "0.3.31" |
111 | hickory-resolver = { version = "0.24.2", optional = true } |
112 | - mail-auth = { version = "0.6.0", features = ["ring", "rustls-pemfile"], optional = true } |
113 | + mail-auth = { version = "0.6.1", features = ["ring", "rustls-pemfile"], optional = true } |
114 | mail-builder = "0.3.2" |
115 | mail-parser = { version = "0.9.4", features = ["serde", "serde_support"] } |
116 | maildir = "0.6.4" |
117 | diff --git a/examples/server.rs b/examples/server.rs |
118 | index 11347e9..bf7bf4f 100644 |
119 | --- a/examples/server.rs |
120 | +++ b/examples/server.rs |
121 | @@ -1,5 +1,5 @@ |
122 | /// Simple SMTP server that prints delivered messages to stdout. |
123 | - use maitred::{DeliveryFunc, Envelope, server::Server}; |
124 | + use maitred::{server::Server, DeliveryFunc, Envelope, PlainAuth, PlainAuthFunc}; |
125 | use std::str::FromStr; |
126 | use tracing::Level; |
127 | |
128 | @@ -16,6 +16,7 @@ async fn main() { |
129 | |
130 | let mut mail_server = Server::default() |
131 | .address(LISTEN_ADDR) |
132 | + .plain_auth(PlainAuthFunc(|a, b, c| async move { Ok(()) })) |
133 | .with_delivery(DeliveryFunc(|envelope: &Envelope| { |
134 | println!("From: {}", envelope.mail_from); |
135 | for to in envelope.rcpt_to.iter() { |
136 | diff --git a/src/rewrite.rs b/src/rewrite.rs |
137 | index 3686ab2..05b6845 100644 |
138 | --- a/src/rewrite.rs |
139 | +++ b/src/rewrite.rs |
140 | @@ -1,4 +1,3 @@ |
141 | - use mail_auth::common::headers::Writer; |
142 | use mail_parser::{HeaderName, Message, MessageParser}; |
143 | |
144 | /// Basically a hack that can modify messages expensively re-parsing them on |
145 | @@ -49,11 +48,6 @@ impl<'a> Rewrite<'a> { |
146 | #[derive(Default)] |
147 | pub struct Header(Vec<u8>); |
148 | |
149 | - impl Writer for Header { |
150 | - fn write(&mut self, buf: &[u8]) { |
151 | - self.0.write(buf); |
152 | - } |
153 | - } |
154 | |
155 | #[cfg(test)] |
156 | mod test { |