"regex",
]
+[[package]]
+name = "html2text"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a26379dcb715e237b96102a12b505c553e2bffa74bae2e54658748d298660ef1"
+dependencies = [
+ "html5ever",
+ "markup5ever_rcdom",
+ "unicode-width",
+]
+
[[package]]
name = "html5ever"
version = "0.25.1"
"doku",
"encoding",
"futures",
+ "html2text",
"http",
"itertools",
"jsonwebtoken",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b"
+[[package]]
+name = "unicode-width"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
+
[[package]]
name = "unicode-xid"
version = "0.1.0"
jsonwebtoken = "7.2.0"
doku = "0.10.2"
uuid = { version = "0.8.2", features = ["serde", "v4"] }
-encoding = "0.2.33"
\ No newline at end of file
+encoding = "0.2.33"
+html2text = "0.2.1"
\ No newline at end of file
use crate::{settings::structs::Settings, LemmyError};
+use html2text;
use lettre::{
message::{header, Mailbox, MultiPart, SinglePart},
transport::smtp::{authentication::Credentials, extension::ClientId},
)
};
+ // the message length before wrap, 78, is somewhat arbritary but looks good to me
+ let plain_text = html2text::from_read(html.as_bytes(), 78);
+
let email = Message::builder()
.from(
email_config
.singlepart(
SinglePart::builder()
.header(header::ContentType::TEXT_PLAIN)
- .body(html.to_string()),
+ .body(plain_text),
)
.multipart(
MultiPart::related().singlepart(