pub struct ValidatedEmail {
pub original: String,
pub normalized: String,
pub local_part: String,
pub domain_address: Option<IpAddr>,
pub domain_name: String,
pub is_deliverable: bool,
}Expand description
A structure representing a validated email address with various components and normalized forms.
Fields§
§original: StringThe email address provided to validate_email.
normalized: StringThe normalized email address should be used instead of the original. It converts IDNA ASCII domain names to Unicode and normalizes both the local part and domain. The normalized address combines the local part and domain name with an ‘@’ sign.
local_part: StringThe local part of the email address (the part before the ‘@’ sign) after it has been Unicode normalized.
domain_address: Option<IpAddr>If the domain part is a domain literal, it will be an IPv4Address or IPv6Address object.
domain_name: StringThe domain part of the email address (the part after the ‘@’ sign) after Unicode normalization.
is_deliverable: boolWhether the email address is deliverable.
Trait Implementations§
Source§impl<'py> IntoPyObject<'py> for ValidatedEmail
impl<'py> IntoPyObject<'py> for ValidatedEmail
Source§type Target = ValidatedEmail
type Target = ValidatedEmail
The Python output type
Source§type Output = Bound<'py, <ValidatedEmail as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <ValidatedEmail as IntoPyObject<'py>>::Target>
The smart pointer type to use. Read more
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Performs the conversion.
Source§impl PyClass for ValidatedEmail
impl PyClass for ValidatedEmail
Source§impl PyClassImpl for ValidatedEmail
impl PyClassImpl for ValidatedEmail
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
#[pyclass(subclass)]
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
#[pyclass(extends=…)]
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
#[pyclass(mapping)]
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
#[pyclass(sequence)]
Source§const IS_IMMUTABLE_TYPE: bool = false
const IS_IMMUTABLE_TYPE: bool = false
#[pyclass(immutable_type)]
Source§type ThreadChecker = SendablePyClass<ValidatedEmail>
type ThreadChecker = SendablePyClass<ValidatedEmail>
This handles following two situations: Read more
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Immutable or mutable
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
The closest native ancestor. This is
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
fn dict_offset() -> Option<isize>
fn weaklist_offset() -> Option<isize>
Source§impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a ValidatedEmail
impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a ValidatedEmail
Source§impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a mut ValidatedEmail
impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a mut ValidatedEmail
Source§impl PyTypeInfo for ValidatedEmail
impl PyTypeInfo for ValidatedEmail
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
Returns the PyTypeObject instance for this type.
Source§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
Returns the safe abstraction over the type object.
impl DerefToPyAny for ValidatedEmail
Auto Trait Implementations§
impl Freeze for ValidatedEmail
impl RefUnwindSafe for ValidatedEmail
impl Send for ValidatedEmail
impl Sync for ValidatedEmail
impl Unpin for ValidatedEmail
impl UnwindSafe for ValidatedEmail
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
Source§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
Converts
self into an owned Python object, dropping type information.