]> git.proxmox.com Git - proxmox.git/commitdiff
sys: email: use `epoch_to_rfc2822` from proxmox_time
authorLukas Wagner <l.wagner@proxmox.com>
Mon, 11 Dec 2023 13:29:08 +0000 (14:29 +0100)
committerWolfgang Bumiller <w.bumiller@proxmox.com>
Mon, 8 Jan 2024 11:04:47 +0000 (12:04 +0100)
`strftime`'s formatting is locale-dependent. If the system locale was
set to e.g. de_DE.UTF-8, the `Date` header became invalid
(e.g Mo instead of Mon for 'Monday'), tripping up some mail clients
(e.g. KMail).

This commit should fix this by using the new `epoch_to_rfc2822`
function from proxmox_time. Under the hood, this function uses
`strftime_l` with a fixed locale (C).

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
proxmox-sys/src/email.rs

index be92f30e283ce5bdf7b7f8ddae58c2e9e54b9ff5..85d171d72e45ceaf5f84bacc38c77f3094bfc14a 100644 (file)
@@ -63,8 +63,7 @@ pub fn sendmail(
     }
     let _ = writeln!(body, "From: {} <{}>", author, mailfrom);
     let _ = writeln!(body, "To: {}", &recipients);
-    let localtime = proxmox_time::localtime(now)?;
-    let rfc2822_date = proxmox_time::strftime("%a, %d %b %Y %T %z", &localtime)?;
+    let rfc2822_date = proxmox_time::epoch_to_rfc2822(now)?;
     let _ = writeln!(body, "Date: {}", rfc2822_date);
     body.push_str("Auto-Submitted: auto-generated;\n");