Serde Email

A validating email type that can be serialised using Serde.

[![crate](https://img.shields.io/crates/v/serde-email.svg)](https://crates.io/crates/serde-email) [![docs](https://docs.rs/serde-email/badge.svg)](https://docs.rs/serde-email)

Introduction

This crate is for creating Email objects.

Usage

Building your own email addresses

```rust use ::emailio::Email;

let email = Email::new("test@example.com".to_string()).expect("A valid email address"); ```

Validating the email address yourself

```rust use ::emailio::isvalidemail;

if isvalidemail(&"test@example.com") { // do something } ```

Serialisation / Deserialisation

```rust use ::emailio::Email; use ::serde_json;

struct Person {
  name: String,
  email: Email,
}

// Some JSON input data as a &str. Maybe this comes from the user.
let data = r#"
    {
        "name": "John Doe",
        "email": "john@example.com"
    }"#;

// Parse the string of data into serde_json::Value.
let person: Person = serde_json::from_str(data).unwrap();

// Access parts of the data by indexing with square brackets.
println!("Hello {} I'll email you are {}", person.name, person.email);

```

Features

Special Thanks

The validation is all done by the email_address crate.