Patch #15785
closed
Support more character encodings in incoming emails
Added by Felix Schäfer over 10 years ago.
Updated over 10 years ago.
Description
The MailHandler
currently tries to convert the encoding of the body of incoming emails to UTF-8 by directly passing the charset of the email body to Redmine::CodesetUtil.to_utf8
, see source:/trunk/app/models/mail_handler.rb@12473#L413. Redmine::CodesetUtil.to_utf8
in turn only handles encodings known to Ruby (on 1.9+), which might not be the case for the charset of an incoming email.
Planio recently had the case of a user sending emails in Korean with the charset ks_c_5601-1987
, which Ruby doesn't know about. This can be mitigated thanks to Mail::RubyVer.pick_encoding
which will try to pick a Ruby encoding compatible with the charset of the email (Mail::RubyVer
is a wrapper for the correct functions for the current Ruby version).
I will post a patch for this shortly.
Files
Here is the patch with a test.
- Status changed from New to Confirmed
- Target version set to Candidate for next minor release
- Tracker changed from Defect to Patch
Mail::VERSION.version
returns the version of the Mail gem indeed.
I know korean would only work with Mail 2.5.4, and we don't mind requiring it in the Planio Gemfiles to make sure it is supported for us. I think the patch is useful even with earlier versions of the Mail gem, as Mail::RubyVer.pick_encoding
is available in earlier versions too and still adds more supported encodings. I agree with you that the test I've written would require Mail 2.5.4 though, you are right.
Should I write a new test that makes sure that the patch works but doesn't require 2.5.4?
Furthermore, what type of errors do users encounter with Mail 2.5.4?
- Subject changed from Support more charsets in incoming emails to Support more charctor encoding in incoming emails
- Subject changed from Support more charctor encoding in incoming emails to Support more character encoding in incoming emails
- Subject changed from Support more character encoding in incoming emails to Support more character encodings in incoming emails
- Target version changed from Candidate for next minor release to 2.5.0
- Status changed from Confirmed to Closed
Committed in trunk r12474 and tests pass, thanks.
Is it duplicate for #14675 ? Can we update our Redmine and get the Defect fixed? =)
- Has duplicate Defect #14675: redmine:email:receive_imap failed with localizaed characters in mail body added
Anton Nepomnyaschih wrote:
Is it duplicate for #14675 ? Can we update our Redmine and get the Defect fixed? =)
Thank you for your pointing.
- Has duplicate deleted (Defect #14675: redmine:email:receive_imap failed with localizaed characters in mail body)
- Related to Patch #18047: MailHandler: Don't use String#respond_to?(:force_encoding) to differentiate between Ruby 1.8 and Ruby 1.9 added
Also available in: Atom
PDF