💾 Archived View for bbs.geminispace.org › u › gemalaya › 17993 captured on 2024-06-20 at 11:53:31. Gemini links have been rewritten to link to archived content

View Raw

More Information

➡️ Next capture (2024-07-09)

-=-=-=-=-=-=-

Comment by 😺 gemalaya

Re: "Misfin reference server crashes when mail is sent..."

In: s/misfin

Created an issue here:

— https://gitlab.com/cipres/misfin/-/issues/19

If the MH implementation can't be changed to store unicode messages that's a deal breaker. Just saw in the email module docs that you can set the charset for a mailbox message, will see if this fixes the problem but i doubt it. Thanks again.

😺 gemalaya

Jun 18 · 2 days ago

5 Later Comments ↓

😺 gemalaya · Jun 18 at 15:26:

I found a fix. When you use set_charset(Charset('utf-8')) it stores messages like this with the payload in base64:

MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

PCBjaXByZXNAZ2VtYWxheWEuZ2l0bGFiLmlvIGNpcHJlcwo6IGJvYmJ5QGxvY2FsaG9zdCAKQCAy
MDI0LTA2LTE4VDE3OjA5OjU1WgojIFVURgrku6PnoIHplJnor68=

😺 gemalaya · Jun 18 at 23:34:

@istvan Fix pushed. I've tested receiving messages with unicode characters for both MH & Maildir, works fine and doesn't seem to break existing mailboxes. Forcing utf-8 charset before storing seems to be the only solution, otherwise the python mailbox impl tries to reencode to ascii ... Only downside is that the payload is stored as base64 :\

@flipperzero If you ever upgrade, test sending/receiving messages on an existing mailbox just to make sure ...

😺 gemalaya · 23 hours ago:

@flipperzero There's now a page to list/create/subscribe to misfin mailing lists, it's not restricted to admin only now. The link to the mailing lists page is listed on the homepage.

I think that the list of mailing lists on a misfin server should be public.

💎 istvan [OP] · 22 hours ago:

Thank you very much for your interest in the issue and quick resolution.

I like what you are doing and want misfin to get some traction, but mail dying on unicode was bit of a deal breaker.

I'm kind of shocked no one encountered it before. Maybe some users assumed everything was fine via the frontend and never drilled down to see what was wrong. I'd have never spotted it if I was not trying to debug missing mail on my server.

😺 gemalaya · 20 hours ago:

@istvan You're welcome, and thanks again, yeah instant deal breaker, if you had not raised the issue it might have gone unnoticed for much longer ... Added support for MH/Maildir a few months ago and the unit tests didn't have any messages that included unicode characters .. my fault.

The frontend should also be internationalized and let you select a language for the interface.

Original Post

🌒 s/misfin

Misfin reference server crashes when mail is sent containing unicode in the name or body of the message and the recipient is using MailDir or MH. Error ultimately comes from Python itself. The mailbox module is not Unicode safe and leads to a crash: File "/email/generator.py", line 410, in write self._fp.write(s.encode('ascii', 'surrogateescape')) UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128) Appears it may work if you are using gembox...

💬 istvan · 11 comments · Jun 16 · 4 days ago