Move mail config from plume::mail::mailer to plume_models::CONFIG
This commit is contained in:
parent
2a1a0a23a5
commit
0058c3053d
@ -21,6 +21,7 @@ pub struct Config {
|
|||||||
pub logo: LogoConfig,
|
pub logo: LogoConfig,
|
||||||
pub default_theme: String,
|
pub default_theme: String,
|
||||||
pub media_directory: String,
|
pub media_directory: String,
|
||||||
|
pub mail: Option<MailConfig>,
|
||||||
pub ldap: Option<LdapConfig>,
|
pub ldap: Option<LdapConfig>,
|
||||||
pub proxy: Option<ProxyConfig>,
|
pub proxy: Option<ProxyConfig>,
|
||||||
}
|
}
|
||||||
@ -245,6 +246,22 @@ impl SearchTokenizerConfig {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub struct MailConfig {
|
||||||
|
pub server: String,
|
||||||
|
pub helo_name: String,
|
||||||
|
pub username: String,
|
||||||
|
pub password: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
fn get_mail_config() -> Option<MailConfig> {
|
||||||
|
Some(MailConfig {
|
||||||
|
server: env::var("MAIL_SERVER").ok()?,
|
||||||
|
helo_name: env::var("MAIL_HELO_NAME").unwrap_or_else(|_| "localhost".to_owned()),
|
||||||
|
username: env::var("MAIL_USER").ok()?,
|
||||||
|
password: env::var("MAIL_PASSWORD").ok()?,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
pub struct LdapConfig {
|
pub struct LdapConfig {
|
||||||
pub addr: String,
|
pub addr: String,
|
||||||
pub base_dn: String,
|
pub base_dn: String,
|
||||||
@ -347,6 +364,7 @@ lazy_static! {
|
|||||||
default_theme: var("DEFAULT_THEME").unwrap_or_else(|_| "default-light".to_owned()),
|
default_theme: var("DEFAULT_THEME").unwrap_or_else(|_| "default-light".to_owned()),
|
||||||
media_directory: var("MEDIA_UPLOAD_DIRECTORY")
|
media_directory: var("MEDIA_UPLOAD_DIRECTORY")
|
||||||
.unwrap_or_else(|_| "static/media".to_owned()),
|
.unwrap_or_else(|_| "static/media".to_owned()),
|
||||||
|
mail: get_mail_config(),
|
||||||
ldap: get_ldap_config(),
|
ldap: get_ldap_config(),
|
||||||
proxy: get_proxy_config(),
|
proxy: get_proxy_config(),
|
||||||
};
|
};
|
||||||
|
16
src/mail.rs
16
src/mail.rs
@ -54,19 +54,19 @@ mod mailer {
|
|||||||
},
|
},
|
||||||
SmtpClient, SmtpTransport,
|
SmtpClient, SmtpTransport,
|
||||||
};
|
};
|
||||||
use std::env;
|
use plume_models::CONFIG;
|
||||||
|
|
||||||
pub type Mailer = Option<SmtpTransport>;
|
pub type Mailer = Option<SmtpTransport>;
|
||||||
|
|
||||||
pub fn init() -> Mailer {
|
pub fn init() -> Mailer {
|
||||||
let server = env::var("MAIL_SERVER").ok()?;
|
let config = CONFIG.mail.as_ref()?;
|
||||||
let helo_name = env::var("MAIL_HELO_NAME").unwrap_or_else(|_| "localhost".to_owned());
|
let mail = SmtpClient::new_simple(&config.server)
|
||||||
let username = env::var("MAIL_USER").ok()?;
|
|
||||||
let password = env::var("MAIL_PASSWORD").ok()?;
|
|
||||||
let mail = SmtpClient::new_simple(&server)
|
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.hello_name(ClientId::Domain(helo_name))
|
.hello_name(ClientId::Domain(config.helo_name.clone()))
|
||||||
.credentials(Credentials::new(username, password))
|
.credentials(Credentials::new(
|
||||||
|
config.username.clone(),
|
||||||
|
config.password.clone(),
|
||||||
|
))
|
||||||
.smtp_utf8(true)
|
.smtp_utf8(true)
|
||||||
.authentication_mechanism(Mechanism::Plain)
|
.authentication_mechanism(Mechanism::Plain)
|
||||||
.connection_reuse(ConnectionReuseParameters::NoReuse)
|
.connection_reuse(ConnectionReuseParameters::NoReuse)
|
||||||
|
Loading…
Reference in New Issue
Block a user