ASP.NET中如何实现电子邮件地址格式的详细验证功能?
- 内容介绍
- 相关推荐
本文共计347个文字,预计阅读时间需要2分钟。
我注意到,如果尝试向无效的电子邮件地址发送邮件,系统会抛出异常。以下是一个简化的代码片段,用于展示这一过程:
javatry { MailAddress invalidAddress=new MailAddress(invalidemailaddress, recipientname); // 尝试发送邮件到无效地址 sendEmail(invalidAddress);} catch (Exception e) { // 异常处理 System.out.println(The specified string is not in the form required for an e-mail address);}
MailAddress To=new MailAddress("invalidemailaddress","recipientname");
抛出:
"The specified string is not in the form required for an e-mail address"
这意味着必须有一个在MailAddress中执行的.Net函数来检查电子邮件地址是否有效.有没有办法直接调用这个’验证’功能?这样我就不需要创建自己的IsValid函数了.
是的,有这样的.Net功能,但“标准”意味着它的功能无法访问:MailAdress使用私有ParseAddress方法,后者又使用System.Net.Mime.MailBnfHelper.后者是一个内部类,因此它不能(轻松地)在框架本身之外访问.因此,使用这些函数的唯一方法是使用反射,我强烈反对.由于这些函数没有文档记录且无法访问而没有反射,因此它们的实现可能会发生变化,并且您的代码可能会在未来版本的框架中中断.
本文共计347个文字,预计阅读时间需要2分钟。
我注意到,如果尝试向无效的电子邮件地址发送邮件,系统会抛出异常。以下是一个简化的代码片段,用于展示这一过程:
javatry { MailAddress invalidAddress=new MailAddress(invalidemailaddress, recipientname); // 尝试发送邮件到无效地址 sendEmail(invalidAddress);} catch (Exception e) { // 异常处理 System.out.println(The specified string is not in the form required for an e-mail address);}
MailAddress To=new MailAddress("invalidemailaddress","recipientname");
抛出:
"The specified string is not in the form required for an e-mail address"
这意味着必须有一个在MailAddress中执行的.Net函数来检查电子邮件地址是否有效.有没有办法直接调用这个’验证’功能?这样我就不需要创建自己的IsValid函数了.
是的,有这样的.Net功能,但“标准”意味着它的功能无法访问:MailAdress使用私有ParseAddress方法,后者又使用System.Net.Mime.MailBnfHelper.后者是一个内部类,因此它不能(轻松地)在框架本身之外访问.因此,使用这些函数的唯一方法是使用反射,我强烈反对.由于这些函数没有文档记录且无法访问而没有反射,因此它们的实现可能会发生变化,并且您的代码可能会在未来版本的框架中中断.

