feat(config): connection_uri_file added to config

This commit is contained in:
Allinen authored and Ellis Git committed 2026-09-16 17:57:11 +00:00
1 parent ffcf152016
commit 89e07ae239
4 files changed
+45 -12

No files matched your search

+13 -1
View File
@@ -1,4 +1,4 @@
use std::env::consts::OS;
use std::{env::consts::OS, path::PathBuf};
use either::Either;
use figment::Figment;
@@ -263,6 +263,18 @@ pub fn check(config: &Config) -> Result {
));
}
if config.smtp.as_ref().is_some_and(|f| {
f.connection_uri.is_none() && f.connection_uri_file.is_none()
|| (f.connection_uri == Some(String::new())
&& f.connection_uri_file == Some(PathBuf::new()))
}) {
return Err!(Config(
"connection_uri",
"If smtp is enabled, either connection_uri or connection_uri_file have to be \
defined."
));
}
match (&config.default_room_acl_allow, &config.default_room_acl_deny) {
| (Some(_), Some(_)) => {
return Err!(Config(
+5 -1
View File
@@ -2589,7 +2589,11 @@ pub struct SmtpConfig {
///
/// For a guide on the accepted URI syntax, consult Lettre's documentation:
/// https://docs.rs/lettre/latest/lettre/transport/smtp/struct.AsyncSmtpTransport.html#method.from_url
pub connection_uri: String,
pub connection_uri: Option<String>,
/// Same as `connection_uri`, except loaded from a file. If `connection_uri`
/// is defined, it is prioritized and `connection_uri_file` is ignored
pub connection_uri_file: Option<PathBuf>,
/// The outgoing address which will be used for sending emails.
///