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
//! The official Rust client for the [SendClipper](https://sendclipper.com) email API.
//!
//! ```no_run
//! # async fn run() -> sendclipper::Result<()> {
//! use sendclipper::{Client, SendEmailParams};
//!
//! let client = Client::new("sc_live_xxxxxxxxxxxxxxxx"); // or Client::from_env()
//! let email = client
//! .emails()
//! .send(&SendEmailParams {
//! from: "hello@send.acme.io".into(),
//! to: "ada@lumen.io".into(),
//! subject: Some("Your receipt".into()),
//! html: Some("<p>Thanks for your order.</p>".into()),
//! ..Default::default()
//! })
//! .await?;
//! println!("Email {} accepted", email.id);
//! # Ok(())
//! # }
//! ```
//!
//! Every failure is a [`Error`] whose `name` is SendClipper's machine-readable
//! code (`validation_failed`, `rate_limited`, `network_error`, ...). Network
//! errors, 429 and 5xx answers are retried with backoff, honouring
//! `Retry-After`, and every JSON write carries an Idempotency-Key, so a
//! retried send never goes out twice. Verify webhook deliveries with
//! [`verify_webhook`].
pub use ;
pub use ;
pub use *;
pub use *;
pub use ;
/// This SDK's version, as on crates.io.
pub const VERSION: &str = env!;