diff --git a/email.html b/email.html new file mode 100644 index 0000000..33e57bc --- /dev/null +++ b/email.html @@ -0,0 +1,54 @@ + + + + LNVPS + + + + + + + +
+
+ LNVPS + logo +
+
+

%%_MESSAGE_%%

+
+ + (c) 2024 LNVPS.net + +
+ + \ No newline at end of file diff --git a/src/worker.rs b/src/worker.rs index 947c693..d05eb84 100644 --- a/src/worker.rs +++ b/src/worker.rs @@ -5,7 +5,7 @@ use crate::settings::{Settings, SmtpConfig}; use crate::status::{VmRunningState, VmState, VmStateCache}; use anyhow::Result; use chrono::{Days, Utc}; -use lettre::message::MessageBuilder; +use lettre::message::{MessageBuilder, MultiPart}; use lettre::transport::smtp::authentication::Credentials; use lettre::AsyncTransport; use lettre::{AsyncSmtpTransport, Tokio1Executor, Transport}; @@ -224,7 +224,13 @@ impl Worker { if let Some(f) = &smtp.from { b = b.from(f.parse()?); } - let msg = b.body(message)?; + let template = include_str!("../email.html"); + let html = MultiPart::alternative_plain_html( + message.clone(), + template.replace("%%_MESSAGE_%%", &message), + ); + + let msg = b.multipart(html)?; let sender = AsyncSmtpTransport::::relay(&smtp.server)? .credentials(Credentials::new(