mikel / mikel/mail

Unable to parse an address with improperly quoted phrase

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

Description

When I attempt to parse an address that contains non-word characters in the phrase part, but where that part is unquoted, it fails with the following error:

```
Mail::Field::ParseError:
Mail::AddressListsParser can not parse |UCSD Electric Racing: Electronics |
Reason was: Expected one of
, (, ,, ; at line 1, column 67 (byte 67) after Electric Racing: Electronics
```

I realize that an address in this format is not RFC-compliant. However, we see them in the wild regularly, and messages addressed as such seem to be delivered reliably. :(

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the reported address with the mail parser entry point named in the error, Mail::AddressListsParser, and inspect where parsing stops after the unquoted phrase. Use the exact input and error as the regression case; done means the parser handles this observed address format without breaking compliant address parsing.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.