【发布时间】:2011-07-25 22:01:48
【问题描述】:
现在允许使用带有特殊丹麦字符(例如 æ ø å)的域,但我不能强制 java 邮件接受这个。
@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();
}
InternetAddress 的构造函数或 validate() 方法中的所有测试均失败。如何处理域中的这些特殊丹麦字符。我敢打赌,其他国家/地区的域名与 javamail InternetAddress 中的电子邮件存在相同的问题。
【问题讨论】:
-
您使用的是哪个版本的 javamail?
-
也许这是一个愚蠢的想法,但是如果你对域名进行 URLEncode 会发生什么?
-
或者失败了,可能是子类
InternetAddress并覆盖构造函数和validate()函数来做你想做的事?
标签: java email dns jakarta-mail