Official Rust SDK for the SendKit email API.
Add to your Cargo.toml:
[dependencies]
sendkit = "1"
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }use sendkit::SendKit;
let client = SendKit::new("sk_your_api_key").unwrap();use sendkit::{SendKit, SendEmailParams};
#[tokio::main]
async fn main() {
let client = SendKit::new("sk_your_api_key").unwrap();
let response = client.emails.send(&client, &SendEmailParams {
from: "you@example.com".into(),
to: vec!["recipient@example.com".into()],
subject: "Hello from SendKit".into(),
html: Some("<h1>Welcome!</h1>".into()),
..Default::default()
}).await.unwrap();
println!("{}", response.id);
}use sendkit::{SendKit, SendMimeEmailParams};
let response = client.emails.send_mime(&client, &SendMimeEmailParams {
envelope_from: "you@example.com".into(),
envelope_to: "recipient@example.com".into(),
raw_message: mime_string,
}).await.unwrap();use sendkit::{SendKit, Error};
match client.emails.send(&client, ¶ms).await {
Ok(response) => println!("Sent: {}", response.id),
Err(Error::Api(err)) => {
println!("API error: {} ({})", err.name, err.status_code.unwrap_or(0));
println!("Message: {}", err.message);
}
Err(err) => println!("Error: {}", err),
}// Read API key from SENDKIT_API_KEY environment variable
let client = SendKit::new("").unwrap();
// Custom base URL
let client = SendKit::with_base_url("sk_...", "https://custom.api.com").unwrap();