Dav*_*itt 7 .net email validation
我正在使用一个使用System.Net.Mail.MailAddress和朋友发送电子邮件的应用程序.该解析器是实现完整的RFC5322还是子集或什么?关于这个主题,MSDN并不是很乐意.
任何提示赞赏.
我写了一个小片段来测试这个功能:
foreach (int i in Enumerable.Range(32,128-32))
{
char c = (char)i;
string addr = String.Format("par.t1{0}pa.r{0}t2@example.com", c);
try
{
var mailAddr = new MailAddress(addr);
}
catch
{
Console.WriteLine("MailAddress failed '{0}' ({1}): {2}", c, i, addr);
}
}
Run Code Online (Sandbox Code Playgroud)
在 3.5 SP1 上的结果如下:
邮件地址失败“ ”(32):par.t1 pa.r t2@example.com
邮件地址失败 '"' (34): par.t1"pa.r"t2@example.com
邮件地址失败 '(' (40): par.t1(pa.r(t2@example.com)
邮件地址失败 ')' (41): par.t1)pa.r)t2@example.com
邮件地址失败 ',' (44): par.t1,pa.r,t2@example.com
邮件地址失败 ':' (58): par.t1:pa.r:t2@example.com
邮件地址失败 ';' (59): par.t1;pa.r;t2@example.com
邮件地址失败 '<' (60): par.t1<pa.r<t2@example.com
邮件地址失败 '>' (62):par.t1>pa.r>t2@example.com
邮件地址失败 '@' (64):par.t1@pa.r@t2@example.com
邮件地址失败 '[' (91): par.t1[pa.r[t2@example.com
邮件地址失败 '\' (92): par.t1\pa.r\t2@example.com
邮件地址失败 ']' (93): par.t1]pa.r]t2@example.com
邮件地址失败 '?' (127): par.t1?pa.r?t2@example.com
它似乎也不支持“引用字符串”本地部分,例如"blah"@example.com.
我不认为验证器在变得无法使用之前可以接受任何更少的东西。
| 归档时间: |
|
| 查看次数: |
2514 次 |
| 最近记录: |