/** * Convenient shortcut of {@link #parse(String)} that returns {@link EmailAddress} or {@code null}. */ public EmailAddress parseToEmailAddress(final String email) { final ParsedAddress parsedAddress = parse(email); if (!parsedAddress.isValid()) { return null; } return new EmailAddress(parsedAddress.getPersonalName(), parsedAddress.getLocalPart() + '@' + parsedAddress.getDomain()); }
/** * Convenient shortcut of {@link #parse(String)} that returns {@code InternetAddress} or {@code null}. */ public InternetAddress parseToInternetAddress(final String email) { final ParsedAddress parsedAddress = parse(email); if (!parsedAddress.isValid()) { return null; } return parsedAddress.getInternetAddress(); }
@Test void testValidEmails2() { assertTrue(new RFC2822AddressParser().parse("me@example.com").isValid()); assertTrue(new RFC2822AddressParser().parse("a.nonymous@example.com").isValid()); assertTrue(new RFC2822AddressParser().parse("name+tag@example.com").isValid()); assertTrue(RFC2822AddressParser.STRICT.parse("!#$%&'+-/=.?^`{|}~@[1.0.0.127]").isValid()); assertFalse(RFC2822AddressParser.LOOSE.parse("!#$%&'+-/=.?^`{|}~@[IPv6:0123:4567:89AB:CDEF:0123:4567:89AB:CDEF]").isValid()); assertTrue(RFC2822AddressParser.STRICT.parse("!#$%&'+-/=.?^`{|}~@[IPv6:0123:4567:89AB:CDEF:0123:4567:89AB:CDEF]").isValid()); assertTrue(new RFC2822AddressParser().parse("me(this is a comment)@example.com").isValid()); assertFalse(RFC2822AddressParser.LOOSE.parse("me.example@com").isValid()); assertTrue(RFC2822AddressParser.STRICT.parse("me.example@com").isValid()); assertTrue(new RFC2822AddressParser().parse("309d4696df38ff12c023600e3bc2bd4b@fakedomain.com").isValid()); assertTrue(new RFC2822AddressParser().parse("ewiuhdghiufduhdvjhbajbkerwukhgjhvxbhvbsejskuadukfhgskjebf@gmail.net").isValid()); assertFalse(new RFC2822AddressParser().parse("NotAnEmail").isValid()); assertFalse(new RFC2822AddressParser().parse("me@").isValid()); assertFalse(new RFC2822AddressParser().parse("@example.com").isValid()); assertFalse(new RFC2822AddressParser().parse(".me@example.com").isValid()); assertFalse(new RFC2822AddressParser().parse("me@example..com").isValid()); assertFalse(new RFC2822AddressParser().parse("me\\@example.com").isValid()); }
@Test void testValidEmails() { assertTrue(new RFC2822AddressParser().parse("bob @example.com").isValid()); assertTrue(new RFC2822AddressParser().parse("\"bob\" @ example.com").isValid()); assertTrue(new RFC2822AddressParser().parse("\"bob\" (hi) @ example.com").isValid()); assertTrue(new RFC2822AddressParser().parse("name.surname@example.com").isValid()); assertTrue(new RFC2822AddressParser().parse("devnull@onyxbits.de").isValid()); assertTrue(new RFC2822AddressParser().parse("< devnull @ onyxbits.de >").isValid()); assertTrue(new RFC2822AddressParser().parse("<devnull@onyxbits.de>").isValid()); assertFalse(new RFC2822AddressParser().parse("Patrick devnull@onyxbits.de").isValid()); assertTrue(new RFC2822AddressParser().parse("Patrick <devnull@onyxbits.de>").isValid()); assertTrue(new RFC2822AddressParser().parse("Patrickdevnull@onyxbits.de").isValid()); assertFalse(new RFC2822AddressParser().parse("\"Patrick Ahlbrecht\" devnull@onyxbits.de").isValid()); assertTrue(new RFC2822AddressParser().parse("\"Patrick Ahlbrecht\" <devnull@onyxbits.de>").isValid()); assertTrue(new RFC2822AddressParser().parse("Patrick Ahlbrecht <devnull@onyxbits.de>").isValid()); assertFalse(new RFC2822AddressParser().parse("Kayaks.org <kayaks@kayaks.org>").isValid()); assertTrue(new RFC2822AddressParser().parse("\"Kayaks.org\" <kayaks@kayaks.org>").isValid()); assertFalse(new RFC2822AddressParser().parse("[Kayaks] <kayaks@kayaks.org>").isValid()); assertTrue(new RFC2822AddressParser().parse("\"[Kayaks]\" <kayaks@kayaks.org>").isValid()); }
@Test void testEmailAddress() { RFC2822AddressParser.ParsedAddress address = new RFC2822AddressParser().parse("igor@jodd.org"); assertEquals(null, address.getPersonalName()); assertEquals("igor", address.getLocalPart()); assertEquals("jodd.org", address.getDomain()); assertTrue(address.isValid()); address = new RFC2822AddressParser().parse("Vladimir <djs@gmail.com>"); assertEquals("Vladimir", address.getPersonalName()); assertEquals("djs", address.getLocalPart()); assertEquals("gmail.com", address.getDomain()); assertTrue(address.isValid()); }
@Test void testReturnPath() { assertTrue(new RFC2822AddressParser().parse("\"[Kayaks]\" <kayaks@kayaks.org>").isValid()); assertFalse(new RFC2822AddressParser().parse("\"[Kayaks]\" <kayaks@kayaks.org>").isValidReturnPath()); assertTrue(new RFC2822AddressParser().parse("<kayaks@kayaks.org>").isValid()); assertTrue(new RFC2822AddressParser().parse("<kayaks@kayaks.org>").isValidReturnPath()); }
/** * Convenient shortcut of {@link #parse(String)} that returns {@link EmailAddress} or {@code null}. */ public EmailAddress parseToEmailAddress(final String email) { final ParsedAddress parsedAddress = parse(email); if (!parsedAddress.isValid()) { return null; } return new EmailAddress(parsedAddress.getPersonalName(), parsedAddress.getLocalPart() + '@' + parsedAddress.getDomain()); }
/** * Convenient shortcut of {@link #parse(String)} that returns {@code InternetAddress} or {@code null}. */ public InternetAddress parseToInternetAddress(final String email) { final ParsedAddress parsedAddress = parse(email); if (!parsedAddress.isValid()) { return null; } return parsedAddress.getInternetAddress(); }