| Crates.io | mailgen |
| lib.rs | mailgen |
| version | 0.4.1 |
| created_at | 2022-11-12 19:35:00.695288+00 |
| updated_at | 2025-12-31 14:15:12.486056+00 |
| description | Mailgen generates clean, responsive HTML and Text e-mails for sending transactional mail |
| homepage | https://github.com/atrox/mailgen |
| repository | https://github.com/atrox/mailgen |
| max_upload_size | |
| id | 713764 |
| size | 104,787 |
This crate allows you to generate pretty emails without all the hassle.
Inspired by the node.js package 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 outro 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)?;
