Hacker News new | ask | show | jobs
by Avamander 235 days ago
Solved problem? Dovecot can't handle UTF-8 to this day. Things like Stalwart do try and change that and actually support non-legacy features. (Though I think Stalwart doesn't do IMAP NOTIFY either.)

Clients on the other hand have actually kinda moved forward, Apple Mail works with IMAP servers and offers features that people only got with Gmail before. But there are many other examples as well.

1 comments

What do you mean, dovecot can't handle UTF-8? It works with any properly MIME-encoded message on one hand and allows (even requires) proper UTF-8 for folder and namespace names on the other hand.

I don't have any problems to use UTF-8 in my messages received via dovecot and I have some folders with national characters on my account, and it works both with IMAP and Sieve.

No proper SMTPUTF8 support for starters.
dovecot is not SMTP server. And there is standard way to encode any charset in (almost any) message header for ages. We never will create e-mail messages with headers by hand in telnet session anymore, anyway.
> dovecot is not SMTP server.

Don't get confused by the name of the extension that it's somehow SMTP-only.

> And there is standard way to encode any charset in (almost any) message header for ages.

Actually, no. For example there is no allowed/standardised way to encode a MIME From address that uses UTF-8. It is only permitted to encode the non-structured part of a header such as the comment or phrase, but not the structured part (the address itself). It is also explicitly forbidden to encode anything in the Received header field.

My bad, I've dug dipper into the problem now and now see, that this is really a problem.

You are right.

But, again, what is simpler: add feature to existing OSS project or write all new protocols?

Second is more fun, for sure, I can understand that as programmer myself.

This extension amongst other features has not been implemented in Dovecot for a long time now. If it were easy (or easier) I'm sure it would be there already.

I do get the sentiment that building on top of old is usually better and more efficient, but this unfortunately does not carry over well to the entire ecosystem and each project. So it's better to replace in some cases, maybe not with a new protocol but a new implementation.

But to answer your question, you can actually do both. Stalwart both added the feature and support for all new protocols. It didn't take a decade either.