MailBreeze Rust SDK
Official Rust SDK for MailBreeze - Email Marketing & Transactional Email Platform.
Features
- 📧 Email Sending - Transactional and marketing emails
- 👥 Contact Management - Create, update, and organize contacts
- 📋 List Management - Mailing lists with statistics
- ✅ Email Verification - Single and batch verification
- 🤖 Automations - Enroll contacts in automation workflows
- 📎 Attachments - Upload and manage email attachments
- 🔄 Automatic Retries - Exponential backoff for transient errors
- 🔒 Secure - API key redacted from debug output
Installation
Add to your Cargo.toml:
[]
= "0.1"
= { = "1", = ["rt-multi-thread", "macros"] }
Quick Start
use ;
async
Configuration
Use the builder pattern for custom configuration:
use MailBreeze;
use Duration;
let client = builder
.base_url
.timeout
.max_retries
.build?;
Resources
Emails
// Send an email
let email = client.emails.send.await?;
// Get email by ID
let email = client.emails.get.await?;
// List emails
let emails = client.emails.list.await?;
// Get statistics
let stats = client.emails.stats.await?;
Contacts
// Create a contact
let contact = client.contacts.create.await?;
// Update a contact
let contact = client.contacts.update.await?;
// List contacts
let contacts = client.contacts.list.await?;
// Unsubscribe
let result = client.contacts.unsubscribe.await?;
Lists
// Create a list
let list = client.lists.create.await?;
// Add contact to list
client.lists.add_contact.await?;
// Get list statistics
let stats = client.lists.stats.await?;
Email Verification
// Verify single email
let result = client.verification.verify.await?;
if result.is_valid
// Batch verification
let batch = client.verification.verify_batch.await?;
Automations
// Enroll contact in automation
let enrollment = client.automations.enroll.await?;
// Cancel enrollment
client.automations.cancel_enrollment.await?;
Attachments
// Create upload URL
let upload = client.attachments.create_upload_url.await?;
// Use upload_url to upload file, then reference attachment_id in emails
Error Handling
use ;
match client.emails.get.await
License
MIT License - see LICENSE for details.