1
0
Fork 0
mirror of https://codeberg.org/icewind/haze.git synced 2026-06-03 09:04:12 +02:00

add mail service

This commit is contained in:
Robin Appelman 2024-06-12 14:45:09 +02:00
commit 1b734141e4
3 changed files with 139 additions and 29 deletions

View file

@ -10,6 +10,7 @@ mod onlyoffice;
mod push;
mod sftp;
mod smb;
mod mail;
use crate::config::{HazeConfig, Preset};
pub use crate::service::clam::{ClamIcap, ClamIcapTls};
@ -31,6 +32,7 @@ use miette::{IntoDiagnostic, Report, Result, WrapErr};
use std::net::IpAddr;
use std::time::Duration;
use tokio::time::{sleep, timeout};
use crate::service::mail::Mail;
#[async_trait::async_trait]
#[enum_dispatch(Service)]
@ -183,6 +185,7 @@ pub enum Service {
ClamIcapTls(ClamIcapTls),
Oc(Oc),
Imaginary(Imaginary),
Mail(Mail),
Preset(PresetService),
}
@ -208,6 +211,7 @@ impl Service {
"clamav-icap-tls" => Some(vec![Service::ClamIcapTls(ClamIcapTls)]),
"clam-icap" => Some(vec![Service::ClamIcap(ClamIcap)]),
"clam-icap-tls" => Some(vec![Service::ClamIcapTls(ClamIcapTls)]),
"mail" => Some(vec![Service::Mail(Mail)]),
_ => presets
.iter()
.find_map(|preset| (preset.name == ty).then(|| PresetService(preset.name.clone())))