- Test for RFC 5322: https://gist.github.com/satob/0dc003aefe020d5f1e9263bd7e173f9f (with regexp in http://www.din.or.jp/~ohzaki/mail_regex.htm#RFC)
- Test for RFC 821: https://gist.github.com/satob/8c5a42cf636732d81b850b58e8808eef (with regexp in http://www.din.or.jp/~ohzaki/perl.htm#Mail)
# | Address | Oracle JavaMail 1.6.2 | GNU JavaMail 1.1.2 | Geronimo JavaMail 1.8.4 | RFC 5322 | RFC 821 |
---|---|---|---|---|---|---|
1 | abc.def@example.com |
valid | valid | valid | valid | valid |
2 | "abc.def"@example.com |
valid | invalid | valid | valid | valid |
3 | "abc.\n def"@example.com |
valid | invalid | valid | invalid | invalid |
4 | "abc"."def"@example.com |
invalid | invalid | valid | valid | valid |
5 | 'abc.def'@example.com |
valid | valid | valid | valid | valid |
6 | 'abc.\n def'@example.com |
invalid | invalid | valid | invalid | invalid |
7 | 'foo'.'bar'@example.com |
valid | valid | valid | valid | valid |
8 | (abc)abc.def@example.com |
valid | invalid | valid | valid | valid |
9 | (abc) abc.def@example.com |
valid | invalid | valid | valid | valid |
10 | <abc.def@example.com> |
valid | invalid | valid | invalid | invalid |
11 | <abc\n .def@example.com> |
invalid | invalid | valid | invalid | invalid |
12 | <abc"def"ghi@example.com> |
invalid | invalid | invalid | invalid | invalid |
13 | foo bar <abc.def@example.com> |
valid | invalid | valid | invalid | valid |
14 | 'foo bar' <abc.def@example.com> |
valid | invalid | valid | invalid | valid |
15 | "foo bar" <abc.def@example.com> |
valid | invalid | valid | invalid | valid |
16 | abc.def@[example.com] |
valid | invalid | valid | valid | valid |
17 | abc.def@[exa mple.com] |
invalid | invalid | valid | valid | valid |
18 | abc.def@[exa\nmple.com] |
invalid | invalid | valid | invalid | invalid |
19 | abc.def@[example."hoge".com] |
valid | invalid | valid | valid | valid |
20 | ,abc.def@example.com |
valid | invalid | invalid | invalid | invalid |
21 | ;abc.def@example.com |
valid | invalid | invalid | invalid | invalid |
22 | abc..def@example.com |
invalid | valid | invalid | invalid | invalid |
23 | abc.def.@example.com |
invalid | valid | invalid | invalid | invalid |
24 | .abc.def@example.com |
invalid | valid | invalid | invalid | invalid |
25 | ⛄bc.def@example.com |
valid | valid | invalid | invalid | invalid |
26 | abc.def@localhost |
valid | valid | valid | valid | valid |
27 | abc.def@e.c |
valid | valid | valid | valid | valid |
28 | abc.def@e.co |
valid | valid | valid | valid | valid |
29 | abc.def@-.com |
valid | valid | valid | valid | valid |
30 | abc.def@203.0.113.1 |
valid | valid | valid | valid | valid |
31 | ABC.DEF@example.com |
valid | valid | valid | valid | valid |
32 | "<script>" <abc.def@example.com> |
valid | invalid | valid | invalid | valid |
33 | '<script>' <abc.def@example.com> |
invalid | invalid | invalid | invalid | invalid |
- The behavior of Jakarta JavaMail is same as Oracle JavaMail.
- Apache TomEE 8.0.3 uses Geronimo JavaMail 1.9.0alpha2.
- GlassFish 5.1.0 uses Jakarta JavaMail 1.6.3.
- Oracle GlassFish 3.1.2 uses Oracle JavaMail 1.6.0.
- GlassFish 5.1.0 uses Oracle JavaMail 1.6.3.
- Payara Server 5.2020.2 uses Jakarta JavaMail 1.6.4.
- Wildfly 20.0.1 uses Jakarta JavaMail 1.6.5.