From: Dominik Csapak <d.csapak@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH proxmox-backup v2 1/2] tape/send_load_media_email: move to server/email_notifications
Date: Thu, 11 Mar 2021 09:24:52 +0100 [thread overview]
Message-ID: <20210311082453.17920-1-d.csapak@proxmox.com> (raw)
and reuse 'send_job_status_mail' there so that we get consistent
formatted mails from pbs (e.g. html part and author)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
changes from v1:
* better commit subject/message
* move code to email related module
* do not make send_job_status_mail pub
src/server/email_notifications.rs | 24 +++++++++++++++++++++
src/tape/changer/email.rs | 36 -------------------------------
src/tape/changer/mod.rs | 3 ---
src/tape/drive/mod.rs | 6 ++++--
4 files changed, 28 insertions(+), 41 deletions(-)
delete mode 100644 src/tape/changer/email.rs
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<String>,
+) -> 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<String>,
-) -> 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,
},
},
};
--
2.20.1
next reply other threads:[~2021-03-11 8:25 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-11 8:24 Dominik Csapak [this message]
2021-03-11 8:24 ` [pbs-devel] [PATCH proxmox-backup v2 2/2] server/worker_task: improve endtime for unknown tasks Dominik Csapak
2021-03-11 8:58 ` [pbs-devel] applied: " Thomas Lamprecht
2021-03-11 8:58 ` [pbs-devel] applied: [PATCH proxmox-backup v2 1/2] tape/send_load_media_email: move to server/email_notifications Thomas Lamprecht
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210311082453.17920-1-d.csapak@proxmox.com \
--to=d.csapak@proxmox.com \
--cc=pbs-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox