# postal_api
postal_api is an API Wrapper for the [Postal](https://postalserver.io/) Mail delivery service.
It takes inspiration from [postal-node](https://github.com/postalserver/postal-node), trying
to add additional validation into the MessageBuilder where possible.
## Roadmap
- [ ] Messages
- [ ] Builder for Raw Messages
- [x] Builder for Messages
- [ ] Attachments
- [ ] Send Messages
- [x] Send Message
- [ ] Send Raw Message
- [ ] Postal API Errors
- [x] Auth Errors
- [x] Message Errors
- [ ] Raw Message Errors
## Installation
just simply run:
```bash
cargo add postal_api
```
or add the following to your Cargo.toml:
```toml
postal_api = "0.2.0"
```
## Usage
Usage is quite simple:
```rust
use postal_api::PostalClient;
use postal_api::message::MessageBuilder;
// create a postal client
let client = PostalClient::new(
"http://example.com".to_string(),
"my_super_secret_api_key".to_string()
);
// set only things we require to send a message at all
let message = MessageBuilder::new()
.add_to("someone@example.com")
.unwrap()
.set_from("me@example2.com")
.set_plain_body("HELLO WORLD!")
.build()
.unwrap();
client.send_message(message);
```
## License
This project is licensed under the MIT license.
### Contribution
Unless you explicitly state otherwise, any contribution intentionally
submitted for inclusion in postal_api by you,
shall be licensed as MIT, without any additional terms or conditions.