Java 邮件 Internet 地址解析错误的格式属性没有错误。
Java Mail Internet Address parse bad format attributes without errors.
我正在使用 Java 邮件。
下面的to string格式不错,发邮件成功
String to = "abc@test.com";
而下面的 to2 字符串是错误的格式,我希望它会抛出错误,而不会抛出错误。
String to2 = 'abctest'
if (StringUtils.hasText(to2)) {
Address[] toia2 = InternetAddress.parse(to2);
mailMessage.setRecipients(RecipientType.TO, toia2);
}
它的行为:运行顺利抛出调试器,日志中没有错误消息,但从不发送电子邮件...
谁能教我如何更改代码,以便在检查无效 "To"、"Cc" 等电子邮件地址时抛出错误消息?
谢谢。
好的,我检查了 mail-1.4
中的代码。 InternetAddress.parse
中的代码说实话看起来很糟糕。它确实接受它进行大多数验证但不是全部验证的任何方式。查看 class 有一个方法 validate
可以执行这些验证。
所以按照下面修改代码就可以了。
public class Sample {
public static void main(String... args) throws AddressException {
String to2 = "abctest";
if (StringUtils.hasText(to2)) {
InternetAddress[] toia2 = InternetAddress.parse(to2);
for(InternetAddress address:toia2){
address.validate();
}
}
}
}
我正在验证上面的电子邮件地址,您可以在 for 循环中添加 mailMessage.setRecipients(RecipientType.TO, toia2);
或者您认为合适的。
我正在使用 Java 邮件。
下面的to string格式不错,发邮件成功
String to = "abc@test.com";
而下面的 to2 字符串是错误的格式,我希望它会抛出错误,而不会抛出错误。
String to2 = 'abctest'
if (StringUtils.hasText(to2)) {
Address[] toia2 = InternetAddress.parse(to2);
mailMessage.setRecipients(RecipientType.TO, toia2);
}
它的行为:运行顺利抛出调试器,日志中没有错误消息,但从不发送电子邮件...
谁能教我如何更改代码,以便在检查无效 "To"、"Cc" 等电子邮件地址时抛出错误消息?
谢谢。
好的,我检查了 mail-1.4
中的代码。 InternetAddress.parse
中的代码说实话看起来很糟糕。它确实接受它进行大多数验证但不是全部验证的任何方式。查看 class 有一个方法 validate
可以执行这些验证。
所以按照下面修改代码就可以了。
public class Sample {
public static void main(String... args) throws AddressException {
String to2 = "abctest";
if (StringUtils.hasText(to2)) {
InternetAddress[] toia2 = InternetAddress.parse(to2);
for(InternetAddress address:toia2){
address.validate();
}
}
}
}
我正在验证上面的电子邮件地址,您可以在 for 循环中添加 mailMessage.setRecipients(RecipientType.TO, toia2);
或者您认为合适的。