Struct lettre::transport::smtp::client::TlsParametersBuilder

source ·
pub struct TlsParametersBuilder { /* private fields */ }
Available on crate feature smtp-transport only.
Expand description

Builder for TlsParameters

Implementations§

source§

impl TlsParametersBuilder

source

pub fn new(domain: String) -> Self

Creates a new builder for TlsParameters

source

pub fn certificate_store(self, cert_store: CertificateStore) -> Self

Set the source for the base set of root certificates to trust.

source

pub fn add_root_certificate(self, cert: Certificate) -> Self

Add a custom root certificate

Can be used to safely connect to a server using a self signed certificate, for example.

source

pub fn dangerous_accept_invalid_hostnames( self, accept_invalid_hostnames: bool ) -> Self

Available on crate features native-tls or boring-tls only.

Controls whether certificates with an invalid hostname are accepted

Defaults to false.

§Warning

You should think very carefully before using this method. If hostname verification is disabled any valid certificate, including those from other sites, are trusted.

This method introduces significant vulnerabilities to man-in-the-middle attacks.

Hostname verification can only be disabled with the native-tls TLS backend.

source

pub fn set_min_tls_version(self, min_tls_version: TlsVersion) -> Self

Controls which minimum TLS version is allowed

Defaults to Tlsv12.

source

pub fn dangerous_accept_invalid_certs(self, accept_invalid_certs: bool) -> Self

Controls whether invalid certificates are accepted

Defaults to false.

§Warning

You should think very carefully before using this method. If certificate verification is disabled, any certificate is trusted for use, including:

  • Self signed certificates
  • Certificates from different hostnames
  • Expired certificates

This method should only be used as a last resort, as it introduces significant vulnerabilities to man-in-the-middle attacks.

source

pub fn build(self) -> Result<TlsParameters, Error>

Available on crate features native-tls or rustls-tls or boring-tls only.

Creates a new TlsParameters using native-tls, boring-tls or rustls depending on which one is available

source

pub fn build_native(self) -> Result<TlsParameters, Error>

Available on crate feature native-tls only.

Creates a new TlsParameters using native-tls with the provided configuration

source

pub fn build_boring(self) -> Result<TlsParameters, Error>

Available on crate feature boring-tls only.

Creates a new TlsParameters using boring-tls with the provided configuration

source

pub fn build_rustls(self) -> Result<TlsParameters, Error>

Available on crate feature rustls-tls only.

Creates a new TlsParameters using rustls with the provided configuration

Trait Implementations§

source§

impl Clone for TlsParametersBuilder

source§

fn clone(&self) -> TlsParametersBuilder

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for TlsParametersBuilder

source§

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

Formats the value using the given formatter. Read more

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> Chain<T> for T

source§

fn len(&self) -> usize

The number of items that this chain link consists of.
source§

fn append_to(self, v: &mut Vec<T>)

Append the elements in this link to the chain.
source§

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

§

type Iter = Once<T>

An iterator over the items within this container, by value.
source§

fn get_iter(&self) -> <T as Container<T>>::Iter

Iterate over the elements of the container (using internal iteration because GATs are unstable).
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same for T

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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>,

§

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.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

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