#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 • Rust 包仓库 146/week @ 2024-05-07 • Rust 包仓库 10/week @ 2024-05-14 • Rust 包仓库 13/week @ 2024-05-21 • Rust 包仓库 25/week @ 2024-06-11 • Rust 包仓库 19/week @ 2024-06-18 • Rust 包仓库 13/week @ 2024-06-25 • Rust 包仓库 18/week @ 2024-07-02 • Rust 包仓库 4/week @ 2024-07-09 • Rust 包仓库 3/week @ 2024-07-16 • Rust 包仓库 40/week @ 2024-07-23 • Rust 包仓库 26/week @ 2024-07-30 • Rust 包仓库

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