pub struct EmailConfig {
pub imap_host: String,
pub imap_port: u16,
pub imap_folder: String,
pub smtp_host: String,
pub smtp_port: u16,
pub smtp_tls: bool,
pub username: String,
pub password: String,
pub from_address: String,
pub idle_timeout_secs: u64,
pub allowed_senders: Vec<String>,
pub default_subject: String,
}Expand description
Email channel configuration
Fields§
§imap_host: StringIMAP server hostname
imap_port: u16IMAP server port (default: 993 for TLS)
imap_folder: StringIMAP folder to poll (default: INBOX)
smtp_host: StringSMTP server hostname
smtp_port: u16SMTP server port (default: 465 for TLS)
smtp_tls: boolUse TLS for SMTP (default: true)
username: StringEmail username for authentication
password: StringEmail password for authentication
from_address: StringFrom address for outgoing emails
idle_timeout_secs: u64IDLE timeout in seconds before re-establishing connection (default: 1740 = 29 minutes) RFC 2177 recommends clients restart IDLE every 29 minutes
allowed_senders: Vec<String>Allowed sender addresses/domains (empty = deny all, [“*”] = allow all)
default_subject: StringDefault subject line for outgoing emails (default: “Construct Message”)
Trait Implementations§
Source§impl ChannelConfig for EmailConfig
impl ChannelConfig for EmailConfig
Source§impl Clone for EmailConfig
impl Clone for EmailConfig
Source§fn clone(&self) -> EmailConfig
fn clone(&self) -> EmailConfig
Returns a duplicate of the value. Read more
1.0.0 · 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 EmailConfig
impl Debug for EmailConfig
Source§impl Default for EmailConfig
impl Default for EmailConfig
Source§impl<'de> Deserialize<'de> for EmailConfig
impl<'de> Deserialize<'de> for EmailConfig
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 JsonSchema for EmailConfig
impl JsonSchema for EmailConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for EmailConfig
impl RefUnwindSafe for EmailConfig
impl Send for EmailConfig
impl Sync for EmailConfig
impl Unpin for EmailConfig
impl UnsafeUnpin for EmailConfig
impl UnwindSafe for EmailConfig
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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 more