Cyrus Patches used at FastMail.FM

Robert Mueller robm at
Fri May 26 21:56:38 EDT 2006

>> Comments on the non-local ones:
>> - cyrus-8bit-2.3.3.diff
> Was it not the position held by CMU in the last five years or so that one
> such patch would *have* do to it properly and re-encode the header to some
> default charset, in order not to corrupt the store with lack of charset
> information (for searches) ?
> Or am I getting completely confused, here?

I think having this as an *option* is perfectly reasonable. There are 
already other imapd options like rfc2046_strict and rfc3028_strict that 
control some strictness of RFC behaviour.

In this case it seems to me the options are:
1. Reject the message - users hate loosing email just because it's not fully 
RFC compliant, especially when "my other provider doesn't have a problem"
2. Replace with X/? - users hate mail being mangled and not being able to 
read it, especially when "my other provider doesn't have a problem"
3. Accept the message and store as is, leave it up to the email client to 
handle - This seems to be the 90% good enough that works well. Most clients 
well display 8-bit data from the message headers in the same charset as the 
message body, which generally "works"
4. Recode correctly in MIME encoding based on the message charset - Would be 
great but:
a) Hard because what if it's a multipart/alternative message, and the 
alternative parts have different charsets? What do recode the header as?
b) Some messages just don't have a charset at all (some Japanese clients 
seems particularly bad at this), what to do then?
c) Some HTML messages only include the charset in the HTML as a <meta> 
header. Do you parse the HTML?

I agree that this option is truly a hack, and technically the email is 
non-RFC compliant so you can do whatever you want, but unfortunately out in 
the real world I think a hack like this allows people to actually get their 
email and should be provided. I'm sure quite a few sites already apply this 
patch to their installations in some way (eg I think Simon's RPMs include 


More information about the Info-cyrus mailing list