Skip to main content

ClientId

Enum ClientId 

Source
pub enum ClientId {
    Domain(Domain),
    AddressLiteral(AddressLiteral),
}
Expand description

Represents the identity of an client

If you connect to an MSA this can be as simple as localhost, through for smtp communication between servers or for connecting with an MX server this should be a public facing domain or ip address


MSA: Mail Submission Agent

MX: Mail Exchanger

Variants§

§

Domain(Domain)

a registered domain

§

AddressLiteral(AddressLiteral)

a ipv4/ipv6 address, through theoretically others protocols are possible too

Implementations§

Source§

impl ClientId

Source

pub fn localhost() -> ClientId

creates a client identity for “localhost” (here fixed to 127.0.0.1)

This can be used as client identity when connecting a mail client to a Mail Submission Agent (MSA), but should not be used when connecting to an Mail Exchanger (MX).

Source

pub fn hostname() -> ClientId

creates a client identity using hostname (fallback localhost)

This uses the hostname crate to create a client identity. If this fails ClientId::localhost() is used.

Source

pub fn try_hostname() -> Option<ClientId>

creates a client identity if a hostname can be found

§Implementation Note

As the hostname crate currently only returns an Option we also do so.

Trait Implementations§

Source§

impl Clone for ClientId

Source§

fn clone(&self) -> ClientId

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ClientId

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl From<AddressLiteral> for ClientId

Source§

fn from(adl: AddressLiteral) -> ClientId

Converts to this type from the input type.
Source§

impl From<Domain> for ClientId

Source§

fn from(dm: Domain) -> ClientId

Converts to this type from the input type.
Source§

impl From<IpAddr> for ClientId

Source§

fn from(saddr: IpAddr) -> ClientId

Converts to this type from the input type.
Source§

impl From<Ipv4Addr> for ClientId

Source§

fn from(saddr: Ipv4Addr) -> ClientId

Converts to this type from the input type.
Source§

impl From<Ipv6Addr> for ClientId

Source§

fn from(saddr: Ipv6Addr) -> ClientId

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Erased for T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> HeaderTryFrom<T> for T

Source§

impl<F, T> HeaderTryInto<T> for F
where T: HeaderTryFrom<F>,

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.