What happened to my list posting?

Hello, all,
I just tried to make a posting to two lists that I'm the administrator of. The postings should have looked like this:
============================ For your information, and please publicize:
FREE ON-LINE AMATEUR RADIO OPERATING CLASS
A free, weekly, 3-hour...
Instead, they were resent and appeared like this:
============================ For your information, and please publicize:=0D=0A=C2=A0=0D=0AFREE ON- LINE= AMATEUR RADIO OPERATING CLASS=0D=0A=C2=A0=0D=0AA free, weekly, 3-hour Am=
What happened, and how can I make sure it never happens again?
I suspect that it has something to do with HTML formatted email. I'm not sure if I sent it to the lists as an HTML formatted email, or a plain text email. I received it as an HTML email, but my email client is set up to send plain-text by default. In my Sent folder, it looks like plain text. '=0D=0A' looks like ASCII codes for Windows CR/LF.
Is there a setting in Mailman that can prevent this from happening?
Thanks for any insights into this problem, and any suggestions or advice you have for me.
-Kevin
My setup: Linux Ubuntu 24.04 running Evolution 3.52.3 email client. Email lists running version 2.2.0.

On March 23, 2025 4:09:43 AM GMT+07:00, Kevin Zembower via Mailman-Users <mailman-users@python.org> wrote:
============================
Instead, they were resent and appeared like this:
============================ For your information, and please publicize:=0D=0A=C2=A0=0D=0AFREE ON- LINE= AMATEUR RADIO OPERATING CLASS=0D=0A=C2=A0=0D=0AA free, weekly, 3-hour Am=
The above is quoted-printable encoded text which is not being properly decoded. Whether the issue is with the message itself or with your mail client, I can't say without seeing the entire raw message including all headers.
-- Mark Sapiro <mark@msapiro.net> Sent from my Not_an_iThing with standards compliant, open source software.

Hi, Mark, thanks for replying.
This is what appears when I choose "View -> Message Source" in Evolution:
Message-ID: <ea36417d89392d80086aa0d71d79166a1734ab66.camel@zembower.org> Subject: Operating Class Announcement From: Kevin Zembower <kevin@zembower.org> To: techclass24@k3nem.org, opsclass24@k3nem.org Date: Sat, 22 Mar 2025 16:15:43 -0400 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.52.3-0ubuntu1 MIME-Version: 1.0 X-Evolution-Identity: 011905c75b9a271ec1f2b95f96e2a3d36b0023ba X-Evolution-Fcc: folder://2344f6e7e8e6aa553e7e0647aaa859c3e907d7be/Sent X-Evolution-Transport: 9dae4eda149e8b794f9b9b9d0a785e113aceab2d X-Evolution-Source:
For your information, and please publicize: =C2=A0 FREE ON-LINE AMATEUR RADIO OPERATING CLASS =C2=A0 A free, weekly, 3-hour Amateur Radio Operating Class on Zoom will begin on Thursday April 3 and run through June 19 at 6:30 PM Eastern time.=C2=A0 The presenters will be various experienced folks in the various subjects. =C2=A0 A detailed syllabus will be published before the classes begin.=C2=A0 Atten= d them all, or any that you like, but you must register for the classes.=C2= =A0 To receive registration information, contact Rol Anders, K3RA, at roland.anders@comcast.net.=C2=A0 =C2=A0 Subjects will include: =C2=A0 All About Operating--A general Introduction Amateur Radio Organizations=E2=80=94Local to International Ham Radio Awards=20 DXing-History and Tips from the Experts QSLing-How to get that needed card for DXCC or WAS VHF/UHF Weak Signal Work and =E2=80=9CRoving=E2=80=9D Image Operating=E2=80=94Slow Scan and Fast Scan TV Remote Station control over internet Learning CW in the no-code era Digital Modes=E2=80=94From RTTY to FT8 and beyond Contesting=E2=80=94How to get started, tips for the beginner and intermedia= ted contester=20 Logging Software=E2=80=94What=E2=80=99s available, how to use Propagation=E2=80=94A general intro to HF Propagation Amateur Satellites=E2=80=94How to get started=20 Portable (backpacking) operation=E2=80=94Tips from an expert Setting Up a Modern (or not so modern) HF Station Lightning Protection and Grounding Traffic Handling Public Service, Emergency Communications=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=20 =C2=A0 Thanks, Rol, K3RA
Note that it doesn't appear this way when I view the message normally in Evolution, either as plain text or HTML formatted.
Thanks for any suggestions you have.
-Kevin

Wow, the appearance in this web interface is even worse than the appearance in my email client. There's no large text, and the lines are broken at about every 78 characters or so.
-Kevin

kevin--- via Mailman-Users writes:
Hi, Mark, thanks for replying.
This is what appears when I choose "View -> Message Source" in Evolution:
This appears to be from your "Sent" folder, not the message as received via the mailing list. I suspect Mark wanted the latter.
Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
The above fields are what they should be for correct display of the message.
User-Agent: Evolution 3.52.3-0ubuntu1
I've never used Evolution, and after seeing the content below, I don't think I ever will. As a mail composition agent, this is distressingly ugly.
For your information, and please publicize: =C2=A0
The "=C0=A0" are the representation of the "no-break space" character (NBSP) encoded in UTF-8 and then further encoded in quoted-printable (QP) to avoid 8-bit characters. Why Evolution inserts the spurious NBSP on an otherwise emmpty line here I don't know. It may have something to do with HTML.
Note that in the "intended message" in your original post, these are regular spaces (encoded as a single byte, 0x20), not NBSP, as shown both in the "as delivered" version in that post and in the "raw message" excerpted above. Something strange is going on here (although it might just be cut and paste from your mail program or terminal window).
on Thursday April 3 and run through June 19 at 6:30 PM Eastern time.=C2=A0
Here's a spurious NBSP at the end of the line.
A detailed syllabus will be published before the classes begin.=C2=A0 Atten= d
This odd sequence includes a NBSP (I think some agents do this to ensure that a two-space break between sentences doesn't get "collapsed" to a single space), and a trailing "=" which means "ignore this newline and join up the line before with the line after. This is required by the QP encoding, which allows a maximum of 76 ASCII characters on a line.
them all, or any that you like, but you must register for the classes.=C2= =A0
This is amusing: Evolution breaks up a UTF-8 character into two individual bytes across a newline. This is technically OK for QP, which is byte-oriented and knows nothing about non-ASCII encodings, but it's ugly.
Note that it doesn't appear this way when I view the message normally in Evolution, either as plain text or HTML formatted.
Bottom line: Mailman should "do the right thing" with this message. Recipients who get the mail from the list should see what you expect them to see.
What you showed in the original post has the mail being encoded *twice* with QP. It's possible that there's some weird bug in Mailman or the Python standard library "email" package causing double encoding, but I think it's more likely that some other software between the original composition and Mailman doing the redundant encoding. This double encoding is not present in the "raw" message.
You also state that your client is set up to send plain text but you received it as HTML. If it was sent as plain text but received as HTML, that is not Mailman's doing. Mailman has no option to convert plain text to HTML (it can do the reverse, however, if you have software like lynx or w3m installed on the Mailman server).
In the original post you wrote:
My setup: Linux Ubuntu 24.04 running Evolution 3.52.3 email client. Email lists running version 2.2.0.
Are you sure you're running Mailman? There were tentative plans for a 2.2 version but as far as I know there was never a public release, even as a beta. The current release of Mailman 2 is 2.1.39. If you are in fact running "2.2" you didn't get it from us. Are you perhaps running cPanel? cPanel recently announced they were "taking over" Mailman 2 development, and it is known to have problems. But we have nothing to do with that, and don't have access to the source. We don't know what it might be doing. You would have to talk to them. Or perhaps you got it from Ubuntu, but again you'd have to talk to them.
Thanks for any suggestions you have.
The only thing I can think of without more information is that the message was composed by first saving the draft to a file in QP form, then pasting that file into a new composition window rather than "continuing" the original composition. I think a human would notice this, but perhaps you are using some kind of mailmerge software that doesn't understand QP and blindly interpolates variable text into the file without decoding it, then automatically sends it to Mailman.
And of course I can't 100% rule out some kind of bug in Mailman, but Mailman has been dealing with QP correctly for 3 decades now. I can't guess why it would suddenly pop up now.
Perhaps Mark will see something in the raw message I didn't.
Steve

Hi everyone,
For what it's worth, the encoding issue has also been happening with a couple of lists, I admit. Multiple users, can’t seem to find a common denomintor, but I’ve just started looking at.
I’m Using Cpanel, Mailman version 2.1.39, and Apple Mail. FWIW. I’ll report back with some more headers later tonight if it isn’t fixed by then.
Thanks!
al

On 3/24/25 5:45 AM, Al Black wrote:
Hi everyone,
For what it's worth, the encoding issue has also been happening with a couple of lists, I admit. Multiple users, can’t seem to find a common denomintor, but I’ve just started looking at.
I’m Using Cpanel, Mailman version 2.1.39, and Apple Mail. FWIW. I’ll report back with some more headers later tonight if it isn’t fixed by then.
This is a cPanel issue. cPanel makes significant changes to Mailman 2.1 including recently porting it to Python 3. The Gnu Mailman project does not have access to these changes, and even if we did, we are focused on Mailman 3 and don't have resources to devote to Mailman 2.1.
Issues with cPanel Mailman should be reported to cPanel. See https://wiki.list.org/DOC/Mailman%20and%20CPanel for more.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (5)
-
Al Black
-
Kevin Zembower
-
kevin@zembower.org
-
Mark Sapiro
-
Stephen J. Turnbull