[pbs-devel] [PATCH proxmox 0/4] improve mail compatability

Shannon Sterz s.sterz at proxmox.com
Wed Oct 8 10:49:06 CEST 2025


this series tries to improve compatability with more mail servers. this
is done in three ways:

- patch 1: base64 encode filenames of attachments
- patch 2: check whether the html or text bodies of an email are ascii
  only. if they are, we can safely declare 7bit encoding which should be
  more broadly compatability than the previous 8bit encoding. if the
  text is not ascii only, encode it as base64 and declare base64
  encoding.
- patch 3: splits the Content-Disposition header of attached files over
  two lines, to avoid longer files possibly triggering a line length
  limit.
- patch 4: allows setting the masked recipient so that users of this
  crate can specify somethings more appropriate for their use case.

this should specifically make it possible to support mail servers that
don't support SMTPUTF8, as now no part of the header or body should
contain plain utf8 characters directly.

i tested these patches against the following mail clients:

- bluemind
- Thunderbird
- aerc
- canary [1]
- iOS Mail app
- gmail.com
- outlook.com

all of them seemed to receive the email and display it properly (note
that aerc prefers the TXT part of the mime alternative parts even if the
html part should be preferred, due to being a terminal based mua).

[1]: https://canarymail.io/

Changelog
---------

changes since v1:

- rebased on current master
- added a patch that allows setting the noreply recipient for mails send
  in undisclosed recipient mode

Note: the need for this series was identified internally as some mails
send with out internal tools would to be received properly.

Shannon Sterz (4):
  sendmail: encode non-ascii filenames to improve compatability
  sendmail: encode non-ascii bodies as base64 to improve comptability
  sendmail: break content disposition headers for attachments
  sendmail: allow specifying the masked receiver

 proxmox-sendmail/src/lib.rs | 258 ++++++++++++++++++++++++++++--------
 1 file changed, 206 insertions(+), 52 deletions(-)

--
2.47.3





More information about the pbs-devel mailing list