Expand description
§Overview
This crate allows you to generate pretty emails without all the hassle. Take a look at the README for screenshots.
§Examples
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()
.summary("this is a test email that contains stuff to test...")
.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-doctest.txt", rendered)?;
let rendered = mailgen.render_html(&email)?;
std::fs::write("./email-doctest.html", rendered)?;
Modules§
Structs§
- Action is an action the user can do on the email (click on a button)
- Product represents your company product (brand) Appears in header & footer of e-mails
- Email for rendering
- Email Builder