diff --git a/src/server/email_notifications.rs b/src/server/email_notifications.rs index 306e84d0..229443f6 100644 --- a/src/server/email_notifications.rs +++ b/src/server/email_notifications.rs @@ -448,6 +448,30 @@ pub fn send_tape_backup_status( Ok(()) } +/// Send email to a person to request a manual media change +pub fn send_load_media_email( + drive: &str, + label_text: &str, + to: &str, + reason: Option, +) -> Result<(), Error> { + + let subject = format!("Load Media '{}' request for drive '{}'", label_text, drive); + + let mut text = String::new(); + + if let Some(reason) = reason { + text.push_str(&format!("The drive has the wrong or no tape inserted. Error:\n{}\n\n", reason)); + } + + text.push_str("Please insert the requested media into the backup drive.\n\n"); + + text.push_str(&format!("Drive: {}\n", drive)); + text.push_str(&format!("Media: {}\n", label_text)); + + send_job_status_mail(to, &subject, &text) +} + fn get_server_url() -> (String, usize) { // user will surely request that they can change this diff --git a/src/tape/changer/email.rs b/src/tape/changer/email.rs deleted file mode 100644 index abd7ead8..00000000 --- a/src/tape/changer/email.rs +++ /dev/null @@ -1,36 +0,0 @@ -use anyhow::Error; - -use proxmox::tools::email::sendmail; - -/// Send email to a person to request a manual media change -pub fn send_load_media_email( - drive: &str, - label_text: &str, - to: &str, - reason: Option, -) -> Result<(), Error> { - - let subject = format!("Load Media '{}' request for drive '{}'", label_text, drive); - - let mut text = String::new(); - - if let Some(reason) = reason { - text.push_str(&format!("The drive has the wrong or no tape inserted. Error:\n{}\n\n", reason)); - } - - text.push_str("Please insert the requested media into the backup drive.\n\n"); - - text.push_str(&format!("Drive: {}\n", drive)); - text.push_str(&format!("Media: {}\n", label_text)); - - sendmail( - &[to], - &subject, - Some(&text), - None, - None, - None, - )?; - - Ok(()) -} diff --git a/src/tape/changer/mod.rs b/src/tape/changer/mod.rs index 1e58a437..a25df49b 100644 --- a/src/tape/changer/mod.rs +++ b/src/tape/changer/mod.rs @@ -1,8 +1,5 @@ //! Media changer implementation (SCSI media changer) -mod email; -pub use email::*; - pub mod sg_pt_changer; pub mod mtx; diff --git a/src/tape/drive/mod.rs b/src/tape/drive/mod.rs index a386abf8..1267a481 100644 --- a/src/tape/drive/mod.rs +++ b/src/tape/drive/mod.rs @@ -51,7 +51,10 @@ use crate::{ VirtualTapeDrive, LinuxTapeDrive, }, - server::WorkerTask, + server::{ + send_load_media_email, + WorkerTask, + }, tape::{ TapeWrite, TapeRead, @@ -66,7 +69,6 @@ use crate::{ changer::{ MediaChange, MtxMediaChanger, - send_load_media_email, }, }, };