JavaMail: “Domaine contient de contrôle ou les espaces dans la chaîne” errormessage en raison de domaine avec des caractères danois

Domaines spéciaux danois des caractères tels que æ ø å sont désormais autorisé, mais je ne peux pas la force de java mail à l'accepter.

    @Test()
public void testMailAddressWithDanishCharacters1() throws AddressException, UnsupportedEncodingException {
    InternetAddress cAddress = new InternetAddress( "test@testæxample12345123.com", null, "utf-8" );
    System.out.println( cAddress.toString() );
    cAddress.validate();
}

@Test()
public void testMailAddressWithDanishCharacters2() throws AddressException, UnsupportedEncodingException {
    InternetAddress cAddress = new InternetAddress( "test@testæxample12345123.com", false );
    System.out.println( cAddress.toString() );
    cAddress.validate();
}

@Test()
public void testMailAddressWithDanishCharacters3() throws AddressException, UnsupportedEncodingException {
    InternetAddress cAddress = new InternetAddress( "test@testæxample12345123.com", true );
    System.out.println( cAddress.toString() );
    cAddress.validate();
}

Tous les tests échouent dans le constructeur de InternetAddress ou dans la validation de la méthode. Comment puis-je gérer ces caractères danois dans le domaine. Je parie que d'autres pays ont le même problème avec leurs domaines vs e-mails dans javamail InternetAddress.

La version de javamail utilisez-vous?
C'est peut-être une idée stupide, mais ce qui se passe si vous URLEncode le nom de domaine?
Ou, à défaut, peut-être sous-classe InternetAddress et de surcharger le constructeur et le validate() fonction pour faire ce que vous voulez?
J'utilise la dernière 1.4.4

OriginalL'auteur Allan | 2011-03-30