1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
//! Async Rust SDK for the [Axene Mailer](https://mail.axene.io) API.
//!
//! Send transactional and bulk email, manage sending domains, subscriber
//! lists, suppressions, templates, and webhooks. Built on `reqwest` + `serde`,
//! with a single transport layer that owns bearer auth, JSON, retries on
//! `429`/`5xx` (honouring `Retry-After`), and error mapping to [`AxeneError`].
//!
//! # Quickstart
//!
//! ```no_run
//! use axene_mailer::{Axene, SendEmail};
//!
//! #[tokio::main]
//! async fn main() -> Result<(), axene_mailer::AxeneError> {
//! let client = Axene::new(std::env::var("AXENE_API_KEY").unwrap())?;
//!
//! let message = SendEmail::builder(
//! ("hello@yourdomain.com", "Your Company"),
//! "customer@example.com",
//! "Your receipt",
//! )
//! .html("<p>Thanks for your order.</p>")
//! .build();
//!
//! let res = client.emails().send(&message).await?;
//! println!("queued message {}", res.id);
//! Ok(())
//! }
//! ```
//!
//! Resources are reached through accessor methods: [`Axene::emails`],
//! [`Axene::domains`], [`Axene::contacts`], [`Axene::suppressions`],
//! [`Axene::templates`], and [`Axene::webhooks`].
pub use ;
pub use ;
pub use *;
pub use ;