Uploaded image for project: 'Commons Email'
  1. Commons Email
  2. EMAIL-49

[Email] Compatability With JavaMail 1.2

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • Nightly Builds
    • None
    • None
    • Operating System: other
      Platform: Other

    • 36536

    Description

      The InternetAddress.validate() method is the only version 1.3 feature of
      JavaMail used in commons-email. Removing its use means that commons-email will
      compile (and tests run) against JavaMail 1.2

      This ticket is as a result of this thread on the user list:

      http://www.mail-archive.com/commons-user%40jakarta.apache.org/msg12817.html

      However some of the assertions I made there were incorrect.

      JavaMail 1.3 introduced the facility to specify a strict=false setting when
      parsing an InternetAddress and a new validate() method to check whether
      a "loosley parsed" InternetAddress was valid.

      I made a mistake in that thread. The Email class uses the following
      constructors:

      InternetAdress(String address, String personal)
      InternetAdress(String address, String personal, String charset)

      These constructors assume the "address" is a valid RFC822 internet address and
      don't "validate" them. Therefore Email as its currently coded is correct to
      then call the validate() method.

      However the following constructor does validate...

      InternetAdress(String address)

      ... and I'm attaching a patch which removes the need to use the validate()
      method.

      However its not quite that simple. Since the validate() method in JavaMail 1.3
      isn't "as strict" as the above constructor - which is compatible with JavaMail
      1.2 - it doesn't validate addresses which contain quotes or '[' at all.
      Therefore applying the patch will make it 1.2 compatible, but also make the
      validation stricter.

      Attachments

        Activity

          People

            Unassigned Unassigned
            niallp Niall Pemberton
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: