Java - 使用 InternetAddress 验证电子邮件

标签 java validation email

我得到了这个方法:

public static boolean isValidEmailAddress(String email) {
       boolean result = true;
       try {
          InternetAddress emailAddr = new InternetAddress(email);
          emailAddr.validate();
       } catch (AddressException ex) {
          result = false;
       }
       return result;
}

但这给了我这个异常(exception):

java.lang.NullPointerException at javax.mail.internet.AddressParser.tokenizeAddress(AddressParser.java:645) at javax.mail.internet.AddressParser.parseAddress(AddressParser.java:113) at javax.mail.internet.InternetAddress.(InternetAddress.java:70) at javax.mail.internet.InternetAddress.(InternetAddress.java:61) at controller.CtrlUser.isValidEmailAddress(CtrlUser.java:166) at controller.CtrlSeller.register(CtrlSeller.java:41) at testController.CtrlSellerUnitTestCase.testRegister(CtrlSellerUnitTestCase.java:41) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) ....

最佳答案

确保您传递的电子邮件参数不为空

关于Java - 使用 InternetAddress 验证电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12862747/

相关文章:

java - Eclipse 4 (Kepler) 的 TPTP 等价物

ruby-on-rails - 真的需要验证外键吗?

html - 如何为输入类型时间元素设置最小值?

codeigniter - 避免对 CodeIgniter 中的非必填字段进行表单验证强制检查

html - 如何从电子邮件中删除类 MsoNormal

java - 一个简单的本地 SMTP 服务器

java - RSA加密(java)读取字符串输入

java - 单击按钮更新时间

html - gmail 电子邮件模板 : how to get table right on mobile in portrait?

java - 窗口右侧和底部边缘的空白