james-mime4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefano Bagnara (JIRA)" <mime4j-...@james.apache.org>
Subject [jira] [Comment Edited] (MIME4J-239) AddressBuilder#parseMailbox fails when the local part contains a '@'
Date Sat, 14 Jun 2014 19:01:02 GMT

    [ https://issues.apache.org/jira/browse/MIME4J-239?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14031650#comment-14031650
] 

Stefano Bagnara edited comment on MIME4J-239 at 6/14/14 6:59 PM:
-----------------------------------------------------------------

This doesn't sounds as a bug. The "mailbox" you're trying to parse is invalid.

the syntax si [phrase] [routeaddress]
the "<...>" part is the routeaddress.
The phrase syntax is defined as: 
- A phrase is a word or a sequence of words.
- An word is either an atom or a quoted string.
- An atom is a sequence of printable ASCII characters except space or any of the following:
()<>@,;:\".[]

So , the "@" can't be contained in an atom, so it must be quoted.

So, these 2 should pass:
joe"@"my company <joe.foo@company.com>
"joe@my company" <joe.foo@company.com>
but
joe@my company <joe.foo@company.com>
without quotes is not valid.



rfc2822 - 3.2.4. Atom  - defines atom as follow:
-----
atext           =       ALPHA / DIGIT / ; Any character except controls,
                        "!" / "#" /     ;  SP, and specials.
                        "$" / "%" /     ;  Used for atoms
                        "&" / "'" /
                        "*" / "+" /
                        "-" / "/" /
                        "=" / "?" /
                        "^" / "_" /
                        "`" / "{" /
                        "|" / "}" /
                        "~"

atom            =       [CFWS] 1*atext [CFWS]
-----


was (Author: bago):
This doesn't sounds as a bug. The "mailbox" you're trying to parse is invalid.

the syntax si [phrase] [routeaddress]
the "<...>" part is the routeaddress.
The phrase syntax is defined as: 
- A phrase is a word or a sequence of words.
- An word is either an atom or a quoted string.
- An atom is a sequence of printable ASCII characters except space or any of the following:
()<>@,;:\".[]

So , the "@" can't be contained in an atom, so it must be quoted.

So, these 2 should pass:
joe"@"my company <joe.foo@company.com>
"joe@my company" <joe.foo@company.com>
but
joe@my company <joe.foo@company.com>
without quotes is not valid.


> AddressBuilder#parseMailbox fails when the local part contains a '@'
> --------------------------------------------------------------------
>
>                 Key: MIME4J-239
>                 URL: https://issues.apache.org/jira/browse/MIME4J-239
>             Project: James Mime4j
>          Issue Type: Bug
>    Affects Versions: 0.7.2
>            Reporter: Nitsan Seniak
>            Priority: Critical
>
> The following calls throws an exception:
> Mailbox add = AddressBuilder.DEFAULT.parseMailbox("joe@my company <joe.foo@company.com>");
> The exception is:
> org.apache.james.mime4j.field.address.ParseException: Atoms in domain names must be separated
by '.'
> The expected result is (Hamcrest syntax):
> Mailbox add = AddressBuilder.DEFAULT.parseMailbox("joe@my company <joe.foo@company.com>");
> assertThat(add.getAddress(), is("joe.foo@company.com"));
> assertThat(add.getLocalPart(), is("joe@my company"));



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message