Java:将电子邮件发送到非 ASCII 电子邮件地址
2022-09-02 01:58:33
我想向非 ASCII 电子邮件地址发送电子邮件,但我不确定使用 JDK8 的推荐过程是什么。
我应该如何处理以下电子邮件地址?
- Dörte@example.com
- test@Sörensen.de
- Dörte@Sörensen.de
是否有任何需要注意的安全注意事项?
此示例代码就足够了吗?
import java.net.IDN;
public class IDNMailHelper {
public static String toIdnAddress(String mail) {
if (mail == null) {
return null;
}
int idx = mail.indexOf('@');
if (idx < 0) {
return mail;
}
return localPart(mail, idx) + "@" + IDN.toASCII(domain(mail, idx));
}
private static String localPart(String mail, int idx) {
return mail.substring(0, idx);
}
private static String domain(String mail, int idx) {
return mail.substring(idx + 1);
}
}