Details
-
Bug
-
Status: Closed
-
Trivial
-
Resolution: Fixed
-
1.6.1, 2.0.0
-
None
Description
It looks like there is minor bug in regex used in MailBinding.java, it causes "|" to act as delimiter, splitting email address into 2 parts.
For ex: Using email address as - first|last@test.com causes it to split into two parts:
1) first
2) last@test.com
"|" is acceptable character in email as per wikipedia http://en.wikipedia.org/wiki/Email_address. I did not bother to read RFC specification.
Here is snippet of code causing issue:
private static void appendRecipientToMimeMessage(MimeMessage mimeMessage, String type, String recipient)
throws MessagingException {
// we support that multi recipient can be given as a string seperated by comma or semi colon
String[] lines = recipient.split("[,|;]");
for (String line : lines) {
Regex above should either be "[,;]" or ";|,"
Also, having email addresses separate out by , or ; seems to be issue as it can be part of name. ex: "firstName, I like comma <first.last@test.com>" is valid. Above code will still cause failure for such messages. Can camel support addresses as List/Array rather than comma delimited string?
See Forum thread: http://www.nabble.com/Camel-Mail-Component%3A-%22|%22-in-email-causes-message-to-fail-td25883099.html