Add this to your Cargo.toml
:
toml
[dependencies]
mailinator-rs = "0.1"
tokio = { version = "1.15", features = ["full"] }
Example
```rust
use mailinator_rs::prelude::{MailinatorClient, StatsApi};
async fn main() { let teamapitoken = String::from("XXXXX-XXXXXX");
let client = MailinatorClient::new(None, Some(team_api_token));
match client.get_usage_statistica().await {
Err(e) => println!("Error: {e}"),
Ok(usage) => println!("{usage:?}")
}
}
```
async fn main() { let teamapitoken = String::from("XXXXX-XXXXXX"); let client = MailinatorClient::new(None, Some(teamapitoken)); let domain = String::from("example.com"); let inbox = String::from("testinbox");
let params = FetchInboxRequestQueryParamsBuilder::default()
.limit(Some(1))
.sort(Some(Sorting::Ascending))
.build()
.expect("failed to build query params");
let request = FetchInboxRequestBuilder::default()
.domain(domain)
.inbox(inbox)
.query_params(Some(params))
.build()
.expect("failed to build request");
match client.fetch_inbox(request).await {
Err(e) => println!("Error: {e}"),
Ok(msgs) => println!("{msgs:?}"),
}
}
* #### Fetch Message
rust
use mailinator_rs::prelude::{FetchMessageRequestBuilder, MailinatorClient, MessageApi};
async fn main() { let teamapitoken = String::from("XXXXX-XXXXXX"); let domain = String::from("example.com"); let msg_id = String::from("xxx-id-xx-msg");
let client = MailinatorClient::new(None, Some(team_api_token));
let request = FetchMessageRequestBuilder::default()
.domain(domain)
.message_id(msg_id)
.build()
.expect("failed to build request");
match client.fetch_message(request).await {
Err(e) => println!("Error: {e}"),
Ok(msg) => println!("{msg:?}"),
}
} ```
async fn main() { let teamapitoken = String::from("XXXXX-XXXXXX"); let domain = String::from("example.com"); let sms_number: u64 = 12345678;
let client = MailinatorClient::new(None, Some(team_api_token));
let request = FetchSmsMessageRequestBuilder::default()
.domain(domain)
.sms_number(sms_number)
.build()
.expect("failed to build request");
match client.fetch_sms_message(request).await {
Err(e) => println!("Error: {e}"),
Ok(msg) => println!("{msg:?}"),
}
}
* #### List Attachments
rust
use mailinator_rs::prelude::{FetchListOfAttachmentRequestBuilder, MailinatorClient, MessageApi};
async fn main() { let teamapitoken = String::from("XXXXX-XXXXXX"); let domain = String::from("example.com"); let inbox = String::from("testinbox"); let msgid = String::from("msgid");
let client = MailinatorClient::new(None, Some(team_api_token));
let request = FetchListOfAttachmentRequestBuilder::default()
.domain(domain)
.inbox(inbox)
.message_id(msg_id)
.build()
.expect("failed to build request");
match client.fetch_list_of_attachments(request).await {
Err(e) => println!("Error: {e}"),
Ok(at_list) => println!("{at_list:?}"),
}
} ``` * #### Fetch Links
```rust use mailinator_rs::prelude::{FetchLinkRequestBuilder, MailinatorClient, MessageApi};
async fn main() { let teamapitoken = String::from("XXXXX-XXXXXX"); let domain = String::from("example.com"); let inbox = String::from("testinbox"); let msgid = String::from("msgid");
let client = MailinatorClient::new(None, Some(team_api_token));
let request = FetchLinkRequestBuilder::default()
.domain(domain)
.inbox(inbox)
.message_id(msg_id)
.build()
.expect("failed to build request");
match client.fetch_links(request).await {
Err(e) => println!("Error: {e}"),
Ok(links) => println!("{links:?}"),
}
}
* #### Fetch Attachment
rust
use mailinator_rs::prelude::{
AttachmentLookupField, FetchAttachmentRequestBuilder, MailinatorClient, MessageApi,
};
async fn main() { let teamapitoken = String::from("XXXXX-XXXXXX"); let domain = String::from("example.com"); let inbox = String::from("testinbox"); let msgid = String::from("msgid"); let attachment_id = AttachmentLookupField::Id(1);
let client = MailinatorClient::new(None, Some(team_api_token));
let request = FetchAttachmentRequestBuilder::default()
.domain(domain)
.inbox(inbox)
.message_id(msg_id)
.attachment(attachment_id)
.build()
.expect("failed to build request");
match client.fetch_attachment(request).await {
Err(e) => println!("Error: {e}"),
Ok(msg) => println!("{msg:?}"),
}
}
* #### Delete All Domain Messages
rust
use mailinator_rs::prelude::{DeleteAllDomainMessageRequestBuilder, MailinatorClient, MessageApi};
async fn main() { let teamapitoken = String::from("XXXXX-XXXXXX"); let domain = String::from("example.com");
let client = MailinatorClient::new(None, Some(team_api_token));
let request = DeleteAllDomainMessageRequestBuilder::default()
.domain(domain)
.build()
.expect("failed to build request");
match client.delete_all_domain_messages(request).await {
Err(e) => println!("Error: {e}"),
Ok(status) => println!("{status:?}"),
}
}
* #### Delete Message
rust
use mailinator_rs::prelude::{DeleteMessageRequestBuilder, MailinatorClient, MessageApi};
async fn main() { let teamapitoken = String::from("XXXXX-XXXXXX"); let domain = String::from("example.com"); let inbox = String::from("testinbox"); let msgid = String::from("msgid");
let client = MailinatorClient::new(None, Some(team_api_token));
let request = DeleteMessageRequestBuilder::default()
.domain(domain)
.inbox(inbox)
.message_id(msg_id)
.build()
.expect("failed to build request");
match client.delete_message(request).await {
Err(e) => println!("Error: {e}"),
Ok(status) => println!("{status:?}"),
}
}
* #### Inject Message
rust
use mailinator_rs::prelude::{
InjectMessageRequestBuilder, MailinatorClient, MessageApi, NewEmailMessageBuilder,
};
async fn main() { let teamapitoken = String::from("XXXXX-XXXXXX"); let domain = String::from("example.com"); let inbox = String::from("testinbox");
let client = MailinatorClient::new(None, Some(team_api_token));
let request = InjectMessageRequestBuilder::default()
.domain(domain)
.inbox(inbox)
.build()
.expect("failed to build request");
let email = NewEmailMessageBuilder::default()
.subject(String::from("Hello world"))
.text(Some(String::from("An example email.")))
.from(String::from("sender@example.com"))
.build()
.expect("failed to build email message");
match client.inject_message(request, email).await {
Err(e) => println!("Error: {e}"),
Ok(status) => println!("{status:?}"),
}
} ```