pub enum EmailConfiguration {
Terminal(TerminalConfig),
SMTP(SmtpConfig),
Memory(MemoryConfig),
Mailersend(MailerSendConfig),
}Variants§
Terminal(TerminalConfig)
Available on crate feature
terminal only.SMTP(SmtpConfig)
Available on crate feature
smtp only.Memory(MemoryConfig)
Available on crate feature
memory only.Mailersend(MailerSendConfig)
Available on crate feature
mailersend only.Trait Implementations§
Source§impl Clone for EmailConfiguration
impl Clone for EmailConfiguration
Source§fn clone(&self) -> EmailConfiguration
fn clone(&self) -> EmailConfiguration
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EmailConfiguration
impl Debug for EmailConfiguration
Source§impl Default for EmailConfiguration
Available on crate feature terminal only.
impl Default for EmailConfiguration
Available on crate feature
terminal only.Source§impl<'de> Deserialize<'de> for EmailConfiguration
impl<'de> Deserialize<'de> for EmailConfiguration
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<MailerSendConfig> for EmailConfiguration
Available on crate feature mailersend only.
impl From<MailerSendConfig> for EmailConfiguration
Available on crate feature
mailersend only.Source§fn from(value: MailerSendConfig) -> Self
fn from(value: MailerSendConfig) -> Self
Converts a MailerSendConfig into an EmailConfiguration
This conversion is mainly used when we are setting the configuration for our email client.
§Example
use email_clients::clients::mailersend::MailerSendConfig;
use email_clients::configuration::EmailConfiguration;
let mailer_config = MailerSendConfig::default()
.sender("sender@example.com")
.base_url("https://api.mailersend.com/v1")
.api_token("test_api_token");
let email_config: EmailConfiguration = mailer_config.into();Source§impl From<MemoryConfig> for EmailConfiguration
Available on crate feature memory only.
impl From<MemoryConfig> for EmailConfiguration
Available on crate feature
memory only.Source§fn from(value: MemoryConfig) -> Self
fn from(value: MemoryConfig) -> Self
Implementation of From trait to convert MemoryConfig into EmailConfiguration
§Example
let memory_config = MemoryConfig::new("sender@example.com");
let email_config: EmailConfiguration = memory_config.into();Source§impl From<SmtpConfig> for EmailConfiguration
Available on crate feature smtp only.
impl From<SmtpConfig> for EmailConfiguration
Available on crate feature
smtp only.Source§fn from(value: SmtpConfig) -> Self
fn from(value: SmtpConfig) -> Self
Converts SmtpConfig to EmailConfiguration.
use email_clients::configuration::EmailConfiguration;
use email_clients::traits::EmailTrait;
use secrecy::Secret;
use email_clients::clients::smtp::{SmtpConfig, TlsMode};
let smtp_config = SmtpConfig {
sender: "Test Sender".into(),
relay: "Test Relay".to_string(),
username: "Test User".to_string(),
password: Secret::new("Test Password".to_string()),
port: 123,
tls: TlsMode::Local,
};
let email_config = EmailConfiguration::from(smtp_config);
assert!(matches!(email_config, EmailConfiguration::SMTP(_)));Source§impl From<TerminalConfig> for EmailConfiguration
Available on crate feature terminal only.
impl From<TerminalConfig> for EmailConfiguration
Available on crate feature
terminal only.Source§fn from(value: TerminalConfig) -> Self
fn from(value: TerminalConfig) -> Self
This module manages the Terminal Configuration for an Email Client. It can be used to generate a client from a configuration.
§Examples
Basic usage:
let config: TerminalConfig = String::from("me@domain.com").into();
let email_config: EmailConfiguration = config.into();Converting a Terminal Configuration into an Email Configuration directly:
let config: TerminalConfig = String::from("me@domain.com").into();
let new_config: EmailConfiguration = config.into();Auto Trait Implementations§
impl Freeze for EmailConfiguration
impl RefUnwindSafe for EmailConfiguration
impl Send for EmailConfiguration
impl Sync for EmailConfiguration
impl Unpin for EmailConfiguration
impl UnsafeUnpin for EmailConfiguration
impl UnwindSafe for EmailConfiguration
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