Uploaded image for project: 'Commons Validator'
  1. Commons Validator
  2. VALIDATOR-275

EmailValidator.isValid(String) follows RFC822 but violates RFC1034

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.4.0 Release
    • Framework, JavaScript
    • None
    • All

    Description

      Per RFC822, the domain portion of an email address may contain any ASCII character other than chars 0-31 (control characters), 32 (space character) and any of the following: "(", ")", "<", ">", "@", ",", ";", ":", "\", <", ".", "[", "]".

      However, RFC1034, the DNS Domain Name spec specifies that domain names can only contain alpha numerical characters and the hyphen/dot characters.

      The RFC's contradict each other and while technically the EmailValidator class is doing what it says (in that it does not guarantee to catch all errors) when one passes in an email address of the form foo@bar+3.com it yields a potentially bad email address which the user won't find out about until they actually try and send the email message. I've not yet found a mail server that accepts an email address of this format, however it is possible there are legacy systems out there that do support it.

      I realize that this is not a bug, per se, but it seems like EmailValidator should probably do something or provide some mechanism to ensure that the email address specified is as valid as possible than waiting until the message is actually sent before failing.

      I am, however, open to discussion.

      This bug was also filed against the JavaMail API's InternetAddress class here: https://kenai.com/bugzilla/show_bug.cgi?id=202

      Attachments

        Activity

          People

            Unassigned Unassigned
            icfantv Adam Gordon
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 2h
                2h
                Remaining:
                Remaining Estimate - 2h
                2h
                Logged:
                Time Spent - Not Specified
                Not Specified