A particular SMTP server has rejected a mail from me, composed using
aerc, with the following error
SMTP error from remote mail server after pipelined end of data:
550 5.6.0 invalid message/* or multipart/* encoding domain
A brief search indicates that this might be a postfix setting¹. Quoting:
> With "strict_mime_encoding_domain = yes", the content-transfer > encoding of message/* and multipart/* entities, must (per RFC > 2045/2046) be p7bit, 8bit (or in theory, but not in practice > "binary").
postfix manuals:
> strict_mime_encoding_domain (no)> Reject mail with invalid Content-Transfer-Encoding: information> for the message/* or multipart/* MIME content types.
The mail I tried to send had
> Mime-Version: 1.0> Content-Type: multipart/signed;> boundary=94779917a47132c27df4eb5a9ed0d752e6f3085bbd5b72927251441cde65;> micalg=pgp-sha512; protocol="application/pgp-signature"> Content-Transfer-Encoding: quoted-printable
and the MIME headers are
> --94779917a47132c27df4eb5a9ed0d752e6f3085bbd5b72927251441cde65> Content-Transfer-Encoding: quoted-printable> Content-Type: text/plain; charset=UTF-8; format=Flowed
and
> --94779917a47132c27df4eb5a9ed0d752e6f3085bbd5b72927251441cde65> Content-Type: application/pgp-signature; name="signature.asc"
Hmm. Looking at ancient Postfix source code, I see²
# Specify "yes" to reject mail with invalid Content-Transfer-Encoding:
# information for multipart/* or message/* content (in general, only
# the unity transformations 7bin, 8bit or binary are allowed at those
# levels in the message structure). This optional restriction is
# enforced while receiving mail.
#
# This blocks mail from poorly written mail software.
Ouch!
That would imply that the outer-most Content-Transfer-Encoding
specifying "quoted-printable" means the whole body section (MIME headers
included) are decoded using quoted-printable, and then there's no
subsequent need to decode the individual MIME sections with
quoted-printable. And perhaps aerc is labelling the first of them above
as Content-Transfer-Encoding incorrectly, and it should be 8bit.
Does that seem right?
[1] https://list.postfix.users.narkive.com/rmtca6Ag/550-error-invalid-message-or-multipart-encoding-domain
[2] https://github.com/vdukhovni/postfix/blob/postfix-2.0/postfix/conf/sample-mime.cf#L61C1-L67C54
--
👱🏻 Jonathan Dowland
✎ jon@dow.land
🔗 https://jmtd.net
Hey Jonathan,
I'm sorry, but this isn't actually an answer to your problem -- I'm
pretty new
to this whole email game myself, and not smart enough to help. I actually
want
to ask about your process for composing this email with `aerc`; I love the
way those footnotes are formatted! Do you have some kind of
pipeline/process
to automate that, or are you simply pasting in Unicode characters for the
citations?
Thanks, and I hope someone more knowledgeable than me can help you out
with the
SMTP issue soon.
Cheers!
--
Daniel Fichtinger
Computer Security Research Lab
NSERC Create Cybersecurity
School of Computing
Queen's University
Canada
formatting references (was Re: invalid message/* or multipart/* encoding domain)
Hello Daniel,
Thanks for your reply!
On Mon Mar 17, 2025 at 4:10 PM GMT, Daniel Fichtinger wrote:
> I'm sorry, but this isn't actually an answer to your problem
No problem :-)
> I actually want to ask about your process for composing this email > with `aerc`; I love the way those footnotes are formatted! Do you > have some kind of pipeline/process to automate that, or are you simply > pasting in Unicode characters for the citations?
Presently I'm doing it by hand. I use Linux with X11. I have X
configured such that I hit the following three/four keys, one after the
other
<Shift>+<AltGr>, ^, 1
and it produces
¹
The specific X feature that does this is "XCompose". The definition file
that includes that particular shortcut, on my system, is
/usr/share/X11/locale/en_US.UTF-8/Compose .
In the past I had a vim plugin or script that automated some of this (a
key shortcut to insert a new superscript at the cursor, keeping track of
how many references had been inserted already, then jump to the end of
the mail to insert the reference, and another shortcut to jump back) but
I've lost it and haven't gone looking for it recently.
The XCompose system lets you define your own shortcuts, too. Mine are
stored in ~/.XCompose and are
<Multi_key> <less> <equal> : "⇐" U21D0 # LEFTWARDS DOUBLE ARROW
<Multi_key> <plus> <greater> : "⇒" U21D2 # RIGHTWARDS DOUBLE ARROW
<Multi_key> <period> <slash> : "✓" U2713 # CHECK MARK
<Multi_key> <8> <greater> : "✂" U2702 # BLACK SCISSORS
<Multi_key> <asterisk> <greater> : "✂" U2702 # BLACK SCISSORS
<Multi_key> <period> <backslash> : "λ" U03BB # Greek Small Letter Lambda
Best wishes,
--
👱🏻 Jonathan Dowland
✎ jon@dow.land
🔗 https://jmtd.net
Once upon a time, I tried writing a function to automatically insert [x] where the cursor was and "[x] https://..." at the bottom of my email (after a "References" header), even pasting the url from clipboard, and then returning back to the original position, while incrementing x as a counter.
I got distracted and never finished it, but it'd be nice to have, ain't it?