#generator #generate-html #action #themes #transactional #clean

mailgen

Mailgen用于生成干净、响应式的HTML和文本邮件,用于发送交易邮件

9个版本

0.3.0 2024年5月9日
0.2.6 2024年4月18日
0.2.5 2024年1月29日
0.2.4 2023年8月15日
0.1.0 2022年11月12日

#77 in 邮件

Download history 146/week @ 2024-05-07 10/week @ 2024-05-14 13/week @ 2024-05-21 25/week @ 2024-06-11 19/week @ 2024-06-18 13/week @ 2024-06-25 18/week @ 2024-07-02 4/week @ 2024-07-09 3/week @ 2024-07-16 40/week @ 2024-07-23 26/week @ 2024-07-30

73 每月下载次数

MIT 协议

40KB
319 代码行

mailgen

Crates.io Documentation License

这个crate允许您轻松生成漂亮的电子邮件。

灵感来源于node.js包mailgen

示例

use mailgen::themes::DefaultTheme;
use mailgen::{Action, Branding, EmailBuilder, Greeting, Mailgen};

let theme = DefaultTheme::new();
let branding = Branding::new("test product", "https://testproduct.com");
let mailgen = Mailgen::new(&theme, branding);

let email = EmailBuilder::new()
    .greeting(Greeting::Name("person name"))
    .intro("test intro")
    .intro("another intro")
    .dictionary("test key", "test value")
    .dictionary("test key 2", "test value 2")
    .action(Action {
            text: "Test Action",
        link: "https://test.com/action",
        color: Some(("black", "white")),
        ..Default::default()
    })
    .action(Action {
            text: "Test Action 2",
        link: "https://test.com/action2",
        instructions: Some("test instruction"),
        ..Default::default()
    })
    .outro("test outr 1")
    .outro("test outro 2")
    .signature("test signature...")
    .build();

let rendered = mailgen.render_text(&email)?;
std::fs::write("./email.txt", &rendered)?;

let rendered = mailgen.render_html(&email)?;
std::fs::write("./email.html", &rendered)?;

default theme

依赖项

~0.4–7MB
~46K SLoC