Lines
0 %
Functions
Branches
100 %
#[cfg(feature = "server")]
use lettre::message::Mailbox;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Default, Deserialize, Hash, PartialEq, Eq, Serialize)]
pub struct Email {
#[serde(default)]
pub address: String,
pub code: Option<u32>,
pub username: String,
pub verified: bool,
}
impl Email {
#[must_use]
pub fn to_mailbox(&self) -> Option<Mailbox> {
Some(Mailbox::new(
Some(self.username.clone()),
self.address.parse().ok()?,
))
pub fn tx(&self) -> String {
// Note: We use a FIGURE SPACE to separate the username from the address so
// .split_ascii_whitespace() does not treat it as a space.
format!("{} <{}>", self.username, self.address)