mikel / mikel/mail

quoted printable decode swallows character when having 2 quoted values

Open
#741 3 comments 0 reactions 0 assignees View on GitHub
Encoding Header Fields More Work Needed Parser
Dominant language
Ruby
Stars
3.7k
Forks
934
PR merge metrics
No merged PRs in 30d

Description

```
>> Mail.new('Subject: "Subject:=?utf-8?B?0J/QvtC80L7Qs9C40YLQtSDQstC+0YHRgdGC0LDQvdC+0LLQ?= =?utf-8?B?uNGC0Ywg0L/QsNGA0L7Qu9GM?="')['Subject'].to_s
=> "\"Subject:Помогите восстановть пароль\"" # second word ends in ть
>> Mail.new('Subject: "Subject:=?utf-8?B?0J/QvtC80L7Qs9C40YLQtSDQstC+0YHRgdGC0LDQvdC+0LLQuNGC0Ywg0L/QsNGA0L7Qu9GM?="')['Subject'].to_s
=> "\"Subject:Помогите восстановить пароль\"" # second word ends in ить
```

Contributor guide

Open the contributing guide

Research direction

Reproduce the two Mail.new examples in a Ruby console and compare the decoded Subject values. Trace the quoted-printable decoding path used by the mail parser; done means both examples preserve the complete final characters, including the difference between ть and ить.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.