[pbs-devel] [PATCH proxmox-backup] email_notifications: make html template more valid

Stefan Sterz s.sterz at proxmox.com
Wed Nov 30 16:02:48 CET 2022


On 11/30/22 15:26, Dominik Csapak wrote:
> some thoughts:
> 
> i don't think 'more valid' is possible, either the markup is valid or not
> 

fair, but entirely valid html in emails is .. interesting. for example,
it would be nice to add a doctype, but from what i found i am not 100%
certain that all email clients can handle it well (e.g. outlook 2019
can't handle the html 5 doctype apparently and ignores it [1]).

it seems that a common practice is to use an older html 4 doctype,
though [2].

[1]: https://www.caniemail.com/search/?s=doctype
[2]: https://stackoverflow.com/questions/34319889/doctype-for-html-email

> On 11/29/22 17:40, Stefan Sterz wrote:
>> some webmail interfaces may behave unexpectedly if the html is
>> invalid. thus, close tags and declare a language.
> 
> which webmail interfaces? and according to whom is the old invalid and
> the new valid?
> 

well i checked it against w3's nu validator [3]. i started out with
something the validator was happy with and then slowly removed things i
wasn't certain would render correctly due to html mail weirdness. lost
the doctype, because see above. lost the title, because apparently
android 4.4 used it in notifications. so if you used it for e.g. the
subject, in notifications the subject would display twice? couldn't
confirm that, but i thought it would be inconvenient.

the last part that valid html requires is a character encoding, but that
should be set in emails via the `Content-Type` header. so i wasn't sure
if it makes sense to add it to the html too.

[3]: https://validator.w3.org/nu/#file

> i checked the html spec of the whatwg[0] and it seems to me that
> empty tags ('head' too) can be omitted
> 

true, sorry, should have removed it when removing the title.

> also the 'lang' attribute is only recommended, not required
>
yes, however, why not follow the recommendation? sorry maybe i am
missing something super obvious but is there are good reason? the
reasoning behind the recommendation is accessibility, making it easier
for speech synthesis to pick up the right intonation.

> the correct closing of the tags good though
> 
> 0: https://html.spec.whatwg.org/multipage/semantics.html
> 
>>
>> Signed-off-by: Stefan Sterz <s.sterz at proxmox.com>
>> ---
>>   src/server/email_notifications.rs | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/server/email_notifications.rs
>> b/src/server/email_notifications.rs
>> index b3298cf9..378e805e 100644
>> --- a/src/server/email_notifications.rs
>> +++ b/src/server/email_notifications.rs
>> @@ -294,7 +294,7 @@ fn send_job_status_mail(email: &str, subject:
>> &str, text: &str) -> Result<(), Er
>>       // Note: OX has serious problems displaying text mails,
>>       // so we include html as well
>>       let html = format!(
>> -        "<html><body><pre>\n{}\n<pre>",
>> +        "<html
>> lang=\"en\"><head></head><body><pre>\n{}\n</pre></body></html>",
>>           handlebars::html_escape(text)
>>       );
>>   
> 
> 






More information about the pbs-devel mailing list