Compare commits

...

25 Commits

Author SHA1 Message Date
6826cb60f8 Merge pull request 'Update Rust crate uuid to 1.18.1' (#11) from renovate/uuid-1.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-09-05 00:21:30 +00:00
d9711bcb7e Update Rust crate uuid to 1.18.1
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-09-04 00:28:25 +00:00
970fcef06a Merge pull request 'Update Rust crate clap to 4.5.47' (#10) from renovate/clap-4.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-09-04 00:28:22 +00:00
a54ea2939c Update Rust crate clap to 4.5.47
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-09-03 00:27:25 +00:00
bba7a07044 Merge pull request 'Update Rust crate tracing-subscriber to 0.3.20' (#9) from renovate/tracing-subscriber-0.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-31 00:26:39 +00:00
0208bc8e96 Update Rust crate tracing-subscriber to 0.3.20
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-08-30 00:27:09 +00:00
eb72912272 Merge pull request 'Update Rust crate clap to 4.5.46' (#8) from renovate/clap-4.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-28 00:27:52 +00:00
e84c681dbd Update Rust crate clap to 4.5.46
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-08-27 00:27:28 +00:00
0dfd0cea5d Merge pull request 'Update Rust crate clap to 4.5.45' (#7) from renovate/clap-4.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-14 00:27:03 +00:00
e456f545ed Update Rust crate clap to 4.5.45
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-08-13 00:27:27 +00:00
5956d7c156 Merge pull request 'Update Rust crate uuid to 1.18.0' (#6) from renovate/uuid-1.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-13 00:27:23 +00:00
4ba7b6df2e Update Rust crate uuid to 1.18.0
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-08-12 00:26:53 +00:00
625187b1ff Merge pull request 'Update Rust crate clap to 4.5.43' (#5) from renovate/clap-4.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-08 00:15:01 +00:00
7ca02cfb8c Update Rust crate clap to 4.5.43
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-08-07 00:14:47 +00:00
dd56772532 Merge pull request 'Update Rust crate clap to 4.5.42' (#4) from renovate/clap-4.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-01 00:18:18 +00:00
406584172f Update Rust crate clap to 4.5.42
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-07-31 00:14:12 +00:00
2ed332b027 Merge pull request 'Update Rust crate lettre to 0.11.18' (#3) from renovate/lettre-0.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-30 00:13:36 +00:00
29102071c8 Update Rust crate lettre to 0.11.18
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-07-29 00:15:59 +00:00
7fc97673bd Merge pull request 'Update Rust crate clap to 4.5.41' (#2) from renovate/clap-4.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-10 00:50:52 +00:00
e5fc436600 Update Rust crate clap to 4.5.41
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-07-10 00:15:57 +00:00
ba14783e11 Merge pull request 'Update Rust crate tracing to 0.1.41' (#1) from renovate/tracing-0.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-09 13:03:13 +00:00
e2a74b896a Fix cargo clippy issue
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-07-09 13:02:37 +00:00
ff8770365c Update Rust crate tracing to 0.1.41
Some checks failed
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2025-07-05 00:08:59 +00:00
17611303f6 Can set message id
Some checks failed
continuous-integration/drone/push Build is failing
2025-07-04 14:52:45 +02:00
ffbc55b1b3 add message id to request 2025-07-04 14:48:55 +02:00
3 changed files with 126 additions and 43 deletions

139
Cargo.lock generated
View File

@@ -112,6 +112,12 @@ version = "2.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
[[package]]
name = "bumpalo"
version = "3.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
[[package]]
name = "cc"
version = "1.2.27"
@@ -139,9 +145,9 @@ dependencies = [
[[package]]
name = "clap"
version = "4.5.40"
version = "4.5.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "40b6887a1d8685cebccf115538db5c0efe625ccac9696ad45c409d96566e910f"
checksum = "7eac00902d9d136acd712710d71823fb8ac8004ca445a89e73a41d45aa712931"
dependencies = [
"clap_builder",
"clap_derive",
@@ -149,9 +155,9 @@ dependencies = [
[[package]]
name = "clap_builder"
version = "4.5.40"
version = "4.5.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e0c66c08ce9f0c698cbce5c0279d0bb6ac936d8674174fe48f736533b964f59e"
checksum = "2ad9bbf750e73b5884fb8a211a9424a1906c1e156724260fdae972f31d70e1d6"
dependencies = [
"anstream",
"anstyle",
@@ -161,9 +167,9 @@ dependencies = [
[[package]]
name = "clap_derive"
version = "4.5.40"
version = "4.5.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2c7947ae4cc3d851207c1adb5b5e260ff0cca11446b1d6d1423788e442257ce"
checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c"
dependencies = [
"heck",
"proc-macro2",
@@ -474,6 +480,16 @@ version = "1.70.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
[[package]]
name = "js-sys"
version = "0.3.77"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
dependencies = [
"once_cell",
"wasm-bindgen",
]
[[package]]
name = "lazy_static"
version = "1.5.0"
@@ -482,9 +498,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]]
name = "lettre"
version = "0.11.17"
version = "0.11.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb2a0354e9ece2fcdcf9fa53417f6de587230c0c248068eb058fa26c4a753179"
checksum = "5cb54db6ff7a89efac87dba5baeac57bb9ccd726b49a9b6f21fb92b3966aaf56"
dependencies = [
"base64",
"chumsky",
@@ -500,7 +516,7 @@ dependencies = [
"nom",
"percent-encoding",
"quoted_printable",
"socket2",
"socket2 0.6.0",
"tokio",
"tracing",
"url",
@@ -538,6 +554,7 @@ dependencies = [
"lettre",
"tracing",
"tracing-subscriber",
"uuid",
]
[[package]]
@@ -600,12 +617,11 @@ dependencies = [
[[package]]
name = "nu-ansi-term"
version = "0.46.0"
version = "0.50.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399"
dependencies = [
"overload",
"winapi",
"windows-sys 0.52.0",
]
[[package]]
@@ -673,12 +689,6 @@ dependencies = [
"vcpkg",
]
[[package]]
name = "overload"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
[[package]]
name = "percent-encoding"
version = "2.3.1"
@@ -770,6 +780,12 @@ dependencies = [
"windows-sys 0.59.0",
]
[[package]]
name = "rustversion"
version = "1.0.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d"
[[package]]
name = "schannel"
version = "0.1.27"
@@ -859,6 +875,16 @@ dependencies = [
"windows-sys 0.52.0",
]
[[package]]
name = "socket2"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807"
dependencies = [
"libc",
"windows-sys 0.59.0",
]
[[package]]
name = "stable_deref_trait"
version = "1.2.0"
@@ -950,7 +976,7 @@ dependencies = [
"mio",
"pin-project-lite",
"slab",
"socket2",
"socket2 0.5.10",
"windows-sys 0.52.0",
]
@@ -999,9 +1025,9 @@ dependencies = [
[[package]]
name = "tracing-subscriber"
version = "0.3.19"
version = "0.3.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008"
checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5"
dependencies = [
"nu-ansi-term",
"sharded-slab",
@@ -1040,6 +1066,17 @@ version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
[[package]]
name = "uuid"
version = "1.18.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2"
dependencies = [
"getrandom",
"js-sys",
"wasm-bindgen",
]
[[package]]
name = "valuable"
version = "0.1.1"
@@ -1074,26 +1111,62 @@ dependencies = [
]
[[package]]
name = "winapi"
version = "0.3.9"
name = "wasm-bindgen"
version = "0.2.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
dependencies = [
"winapi-i686-pc-windows-gnu",
"winapi-x86_64-pc-windows-gnu",
"cfg-if",
"once_cell",
"rustversion",
"wasm-bindgen-macro",
]
[[package]]
name = "winapi-i686-pc-windows-gnu"
version = "0.4.0"
name = "wasm-bindgen-backend"
version = "0.2.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
dependencies = [
"bumpalo",
"log",
"proc-macro2",
"quote",
"syn",
"wasm-bindgen-shared",
]
[[package]]
name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
name = "wasm-bindgen-macro"
version = "0.2.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
]
[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
dependencies = [
"proc-macro2",
"quote",
"syn",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
version = "0.2.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
dependencies = [
"unicode-ident",
]
[[package]]
name = "windows-link"

View File

@@ -4,7 +4,8 @@ version = "0.1.0"
edition = "2024"
[dependencies]
clap = { version = "4.5.40", features = ["derive"] }
lettre = { version = "0.11.17", features = ["tracing"] }
tracing = "0.1"
tracing-subscriber = "0.3.19"
clap = { version = "4.5.47", features = ["derive"] }
lettre = { version = "0.11.18", features = ["tracing"] }
tracing = "0.1.41"
tracing-subscriber = "0.3.20"
uuid = { version = "1.18.1", features = ["v4"] }

View File

@@ -1,6 +1,6 @@
use clap::Parser;
use lettre::message::header::{ContentType, MessageId};
use lettre::message::Mailbox;
use lettre::message::header::ContentType;
use lettre::transport::smtp::authentication::Credentials;
use lettre::transport::smtp::extension::ClientId;
use lettre::{Message, SmtpTransport, Transport};
@@ -66,6 +66,10 @@ struct Args {
/// Relay name
#[arg(long, default_value = "my-computer.com")]
smtp_relay_name: String,
/// Include message id
#[arg(long)]
message_id: bool,
}
fn main() {
@@ -79,9 +83,7 @@ fn main() {
// completes the builder.
.finish();
tracing::subscriber::set_global_default(subscriber)
.expect("setting default subscriber failed");
tracing::subscriber::set_global_default(subscriber).expect("setting default subscriber failed");
let mut builder = Message::builder();
builder = builder.from(Mailbox::new(
@@ -95,6 +97,14 @@ fn main() {
));
}
if args.message_id {
builder = builder.header(MessageId::from(format!(
"<{}@{}>",
uuid::Uuid::new_v4(),
args.from_mail.rsplit_once('@').unwrap().1
)));
}
builder = builder
.to(Mailbox::new(
args.to_name.clone(),
@@ -132,7 +142,6 @@ fn main() {
}
}
#[cfg(test)]
mod test {
use crate::Args;