//! A Rust client for creating disposable mailboxes with [temp-mail.org](https://temp-mail.org).
//!
//! The crate exposes a small, borrowed API centered around [`Client`], [`Mailbox`], and
//! [`Message`]. Typical usage is:
//!
//! 1. Create a [`Client`].
//! 2. Create a disposable [`Mailbox`].
//! 3. Poll [`Mailbox::list_messages`] for [`MessagePreview`] values.
//! 4. Convert a preview into a full [`Message`] with [`MessagePreview::to_message`].
//! 5. Get the attachments of a message with [`Message::get_attachment`].
//!
//! # Example
//! ```no_run
//! use temp_mail_org::{Client, Error};
//!
//! # #[tokio::main]
//! # async fn main() -> Result<(), Error> {
//! let client = Client::new();
//! let mailbox = client.create_mailbox().await?;
//! println!("Mailbox: {}", mailbox.address());
//!
//! let message = mailbox.list_messages(None)
//!     .await?
//!     .into_iter()
//!     .next()
//!     .unwrap()
//!     .to_message()
//!     .await?;
//! println!("Received message from {}", message.subject());
//! #
//! #     Ok(())
//! # }
//!
//! ```

mod client;
mod error;
mod mailbox;
mod message;

pub use client::*;
pub use error::*;
pub use mailbox::*;
pub use message::*;
