sys: email: use epoch_to_rfc2822 from proxmox_time

`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>
This commit is contained in:
Lukas Wagner 2023-12-11 14:29:08 +01:00 committed by Wolfgang Bumiller
parent 1384bd9161
commit dc72878d37

View 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");