這是對我的 Rust 車把的初始化。沒有錯誤。
let mut reg = Handlebars::new();
let order_email_content = reg.render_template("src/emails/order_email.hbs", &serde_json::json!({"data" : email_order.body, "orderNumber": 3333, "amount": 555})).unwrap();
這是發送電子郵件的信件:
let host_email = Message::builder()
.from(config.email.serverEmail.email.parse().unwrap())
.to(config.email.recipient.parse().unwrap())
.subject("Rust Order für FlyerandPrint")
.multipart(
MultiPart::alternative() // This is composed of two parts.
.singlepart(
SinglePart::builder()
.header(header::ContentType::TEXT_PLAIN)
.body(String::from("Hello from Lettre! A mailer library for Rust")),
)
.singlepart(
SinglePart::builder()
.header(header::ContentType::TEXT_HTML)
.body(order_email_content),
),
)
.unwrap();
這通過了,但收到的電子郵件僅包含路徑字符串。
我是 Rust 的新手。謝謝。
問題:我如何包含來自把手(order_email_content)的 html 以在lettre 的正文中使用它?
注意:打印 reg(handlebare 變量)給出:
Handlebars { templates: {}, helpers: ["if", "lt", "raw", "or", "len", "unless", "with", "log", "lookup", "lte", "ne", "and", "not", "gt", "eq", "gte", "each"], decorators: ["inline"], strict_mode: false, dev_mode: false }
但是打印 order_email_content 給出字符串 "src/emails/order_email.hbs"
查看把手文檔中的示例,這樣的事情應該可以工作:
let mut reg = Handlebars::new();
reg.register_template_file ("email", "src/emails/order_email.hbs").unwrap();
let order_email_content = reg.render ("email", &serde_json::json!({"data" : email_order.body, "orderNumber": 3333, "amount": 555})).unwrap();
或者:
let mut reg = Handlebars::new();
let order_email_content = reg.render_template (
include_str!("src/emails/order_email.hbs"),
&serde_json::json!({"data": email_order.body, "orderNumber": 3333, "amount": 555})).unwrap();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句