Subversion Repositories javautils

Compare Revisions

Regard whitespace Rev 21 → Rev 22

/ViaThinkSoft Java Utils/test/eMailTests/SayersTests.xml
1,10 → 1,10
<?xml version="1.0" encoding="utf-8"?>
 
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE tests>
<!--
Source: http://isemail.googlecode.com/svn/trunk/tests/tests.xml
-->
 
<tests version="1.10">
<tests xmlns="http://www.w3.org/2001/XMLSchema-instance"
SchemaLocation="mailValidatorTests.xsd">
<test>
<address>first.last@example.com</address>
<valid>true</valid>
13,7 → 13,8
<id>1</id>
</test>
<test>
<address>1234567890123456789012345678901234567890123456789012345678901234@example.com</address>
<address>1234567890123456789012345678901234567890123456789012345678901234@example.com
</address>
<valid>true</valid>
<source>Dominic Sayers</source>
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
22,7 → 23,8
<test>
<address>first.last@sub.do,com</address>
<valid>false</valid>
<comment>Mistyped comma instead of dot (replaces old #3 which was the same as #57)</comment>
<comment>Mistyped comma instead of dot (replaces old #3 which was the
same as #57)</comment>
<source>Rob &lt;bob@bob.com&gt;</source>
<id>3</id>
</test>
56,19 → 58,24
<id>7</id>
</test>
<test>
<address>x@x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x2</address>
<address>x@x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x2
</address>
<valid>true</valid>
<comment>Total length reduced to 254 characters so it's still valid</comment>
<comment>Total length reduced to 254 characters so it's still valid
</comment>
<source>Dominic Sayers</source>
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
<id>8</id>
</test>
<test>
<address>1234567890123456789012345678901234567890123456789012345678@12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.123456789012345678901234567890123456789012345678901234567890123.example.com</address>
<address>1234567890123456789012345678901234567890123456789012345678@12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.123456789012345678901234567890123456789012345678901234567890123.example.com
</address>
<valid>true</valid>
<comment>Total length reduced to 254 characters so it's still valid</comment>
<comment>Total length reduced to 254 characters so it's still valid
</comment>
<source>RFC 3696 erratum 1690</source>
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=1690</sourcelink>
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=1690
</sourcelink>
<id>9</id>
</test>
<test>
75,7 → 82,8
<address>first.last@[12.34.56.78]</address>
<valid>true</valid>
<source>RFC 3696 erratum 1690</source>
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=1690</sourcelink>
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=1690
</sourcelink>
<id>10</id>
</test>
<test>
93,7 → 101,8
<id>12</id>
</test>
<test>
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:12.34.56.78]</address>
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:12.34.56.78]
</address>
<valid>true</valid>
<source>Dominic Sayers</source>
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
121,7 → 130,8
<id>16</id>
</test>
<test>
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:8888]</address>
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:8888]
</address>
<valid>true</valid>
<source>Dominic Sayers</source>
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
128,7 → 138,8
<id>17</id>
</test>
<test>
<address>first.last@x23456789012345678901234567890123456789012345678901234567890123.example.com</address>
<address>first.last@x23456789012345678901234567890123456789012345678901234567890123.example.com
</address>
<valid>true</valid>
<source>Dominic Sayers</source>
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
149,11 → 160,13
<id>20</id>
</test>
<test>
<address>123456789012345678901234567890123456789012345678901234567890@12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.12.example.com</address>
<address>123456789012345678901234567890123456789012345678901234567890@12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.12.example.com
</address>
<valid>false</valid>
<comment>Entire address is longer than 254 characters</comment>
<source>RFC 3696 erratum 1690</source>
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=1690</sourcelink>
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=1690
</sourcelink>
<id>21</id>
</test>
<test>
165,7 → 178,8
<id>22</id>
</test>
<test>
<address>12345678901234567890123456789012345678901234567890123456789012345@example.com</address>
<address>12345678901234567890123456789012345678901234567890123456789012345@example.com
</address>
<valid>false</valid>
<comment>Local part more than 64 characters</comment>
<source>Dominic Sayers</source>
253,7 → 267,8
<id>33</id>
</test>
<test>
<address>x@x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456</address>
<address>x@x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456789.x23456
</address>
<valid>false</valid>
<comment>Domain exceeds 255 chars</comment>
<source>Dominic Sayers</source>
293,7 → 308,8
<id>38</id>
</test>
<test>
<address>first.last@[IPv6:1111:2222:3333::4444:5555:12.34.56.78]</address>
<address>first.last@[IPv6:1111:2222:3333::4444:5555:12.34.56.78]
</address>
<valid>false</valid>
<comment>Too many IPv6 groups (4 max)</comment>
<source>Dominic Sayers</source>
301,7 → 317,8
<id>39</id>
</test>
<test>
<address>first.last@[IPv6:1111:2222:3333:4444:5555:12.34.56.78]</address>
<address>first.last@[IPv6:1111:2222:3333:4444:5555:12.34.56.78]
</address>
<valid>false</valid>
<comment>Not enough IPv6 groups</comment>
<source>Dominic Sayers</source>
309,7 → 326,8
<id>40</id>
</test>
<test>
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:12.34.56.78]</address>
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:12.34.56.78]
</address>
<valid>false</valid>
<comment>Too many IPv6 groups (6 max)</comment>
<source>Dominic Sayers</source>
317,7 → 335,8
<id>41</id>
</test>
<test>
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777]</address>
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777]
</address>
<valid>false</valid>
<comment>Not enough IPv6 groups</comment>
<source>Dominic Sayers</source>
325,7 → 344,8
<id>42</id>
</test>
<test>
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:8888:9999]</address>
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:8888:9999]
</address>
<valid>false</valid>
<comment>Too many IPv6 groups (8 max)</comment>
<source>Dominic Sayers</source>
341,7 → 361,8
<id>44</id>
</test>
<test>
<address>first.last@[IPv6:1111:2222:3333::4444:5555:6666:7777]</address>
<address>first.last@[IPv6:1111:2222:3333::4444:5555:6666:7777]
</address>
<valid>false</valid>
<comment>Too many IPv6 groups (6 max)</comment>
<source>Dominic Sayers</source>
397,7 → 418,8
<id>51</id>
</test>
<test>
<address>first.last@x234567890123456789012345678901234567890123456789012345678901234.example.com</address>
<address>first.last@x234567890123456789012345678901234567890123456789012345678901234.example.com
</address>
<valid>false</valid>
<comment>Label can't be longer than 63 octets</comment>
<source>Dominic Sayers</source>
415,7 → 437,8
<address>"Fred\ Bloggs"@example.com</address>
<valid>true</valid>
<source>RFC 3696 (as amended by erratum 2005-07-09)</source>
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246</sourcelink>
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246
</sourcelink>
<id>54</id>
</test>
<test>
422,7 → 445,8
<address>"Joe.\\Blow"@example.com</address>
<valid>true</valid>
<source>RFC 3696 (as amended by erratum 2005-07-09)</source>
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246</sourcelink>
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246
</sourcelink>
<id>55</id>
</test>
<test>
429,7 → 453,8
<address>"Abc@def"@example.com</address>
<valid>true</valid>
<source>RFC 3696 (as amended by erratum 2005-07-09)</source>
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246</sourcelink>
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246
</sourcelink>
<id>56</id>
</test>
<test>
484,7 → 509,8
<test>
<address>abc\@def@example.com</address>
<valid>false</valid>
<comment>This example from RFC 3696 was corrected in an erratum</comment>
<comment>This example from RFC 3696 was corrected in an erratum
</comment>
<source>Doug Lovell (LinuxJournal, June 2007)</source>
<sourcelink>http://www.linuxjournal.com/article/9585</sourcelink>
<id>64</id>
492,7 → 518,8
<test>
<address>abc\\@example.com</address>
<valid>false</valid>
<comment>This example from RFC 3696 was corrected in an erratum</comment>
<comment>This example from RFC 3696 was corrected in an erratum
</comment>
<source>Doug Lovell (LinuxJournal, June 2007)</source>
<sourcelink>http://www.linuxjournal.com/article/9585</sourcelink>
<id>65</id>
635,7 → 662,8
<valid>true</valid>
<address>test@example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>83</id>
</test>
<test>
642,7 → 670,8
<valid>true</valid>
<address>TEST@example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>84</id>
</test>
<test>
649,7 → 678,8
<valid>true</valid>
<address>1234567890@example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>85</id>
</test>
<test>
656,7 → 686,8
<valid>true</valid>
<address>test+test@example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>86</id>
</test>
<test>
663,7 → 694,8
<valid>true</valid>
<address>test-test@example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>87</id>
</test>
<test>
670,7 → 702,8
<valid>true</valid>
<address>t*est@example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>88</id>
</test>
<test>
677,7 → 710,8
<valid>true</valid>
<address>+1~1+@example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>89</id>
</test>
<test>
684,7 → 718,8
<valid>true</valid>
<address>{_test_}@example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>90</id>
</test>
<test>
691,7 → 726,8
<valid>true</valid>
<address>"[[ test ]]"@example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>91</id>
</test>
<test>
698,7 → 734,8
<valid>true</valid>
<address>test.test@example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>92</id>
</test>
<test>
705,7 → 742,8
<valid>true</valid>
<address>"test.test"@example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>93</id>
</test>
<test>
713,7 → 751,8
<address>test."test"@example.com</address>
<comment>Obsolete form, but documented in RFC 5322</comment>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>94</id>
</test>
<test>
720,7 → 759,8
<valid>true</valid>
<address>"test@test"@example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>95</id>
</test>
<test>
727,15 → 767,18
<valid>true</valid>
<address>test@123.123.123.x123</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>96</id>
</test>
<test>
<valid>false</valid>
<address>test@123.123.123.123</address>
<comment>Top Level Domain won't be all-numeric (see RFC 3696 Section 2). I disagree with Dave Child on this one.</comment>
<comment>Top Level Domain won't be all-numeric (see RFC 3696 Section
2). I disagree with Dave Child on this one.</comment>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>97</id>
</test>
<test>
742,7 → 785,8
<valid>true</valid>
<address>test@[123.123.123.123]</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>98</id>
</test>
<test>
749,7 → 793,8
<valid>true</valid>
<address>test@example.example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>99</id>
</test>
<test>
756,7 → 801,8
<valid>true</valid>
<address>test@example.example.example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>100</id>
</test>
<test>
763,7 → 809,8
<valid>false</valid>
<address>test.example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>101</id>
</test>
<test>
770,7 → 817,8
<valid>false</valid>
<address>test.@example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>102</id>
</test>
<test>
777,7 → 825,8
<valid>false</valid>
<address>test..test@example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>103</id>
</test>
<test>
784,7 → 833,8
<valid>false</valid>
<address>.test@example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>104</id>
</test>
<test>
791,7 → 841,8
<valid>false</valid>
<address>test@test@example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>105</id>
</test>
<test>
798,7 → 849,8
<valid>false</valid>
<address>test@@example.com</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>106</id>
</test>
<test>
806,7 → 858,8
<address>-- test --@example.com</address>
<comment>No spaces allowed in local part</comment>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>107</id>
</test>
<test>
814,7 → 867,8
<address>[test]@example.com</address>
<comment>Square brackets only allowed within quotes</comment>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>108</id>
</test>
<test>
822,7 → 876,8
<address>"test\test"@example.com</address>
<comment>Any character can be escaped in a quoted string</comment>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>109</id>
</test>
<test>
830,7 → 885,8
<address>"test"test"@example.com</address>
<comment>Quotes cannot be nested</comment>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>110</id>
</test>
<test>
838,7 → 894,8
<address>()[]\;:,&gt;&lt;@example.com</address>
<comment>Disallowed Characters</comment>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>111</id>
</test>
<test>
846,7 → 903,8
<comment>Dave Child says so</comment>
<address>test@.</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>112</id>
</test>
<test>
854,7 → 912,8
<comment>Dave Child says so</comment>
<address>test@example.</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>113</id>
</test>
<test>
862,15 → 921,19
<comment>Dave Child says so</comment>
<address>test@.org</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>114</id>
</test>
<test>
<valid>false</valid>
<address>test@123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012.com</address>
<comment>255 characters is maximum length for domain. This is 256.</comment>
<address>test@123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012.com
</address>
<comment>255 characters is maximum length for domain. This is 256.
</comment>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>115</id>
</test>
<test>
878,7 → 941,8
<comment>Dave Child says so</comment>
<address>test@example</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>116</id>
</test>
<test>
886,7 → 950,8
<comment>Dave Child says so</comment>
<address>test@[123.123.123.123</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>117</id>
</test>
<test>
894,7 → 959,8
<comment>Dave Child says so</comment>
<address>test@123.123.123.123]</address>
<source>Dave Child</source>
<sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
<sourcelink>http://code.google.com/p/php-email-address-validation/
</sourcelink>
<id>118</id>
</test>
<test>
902,7 → 968,8
<valid>false</valid>
<comment>Phil Haack says so</comment>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>119</id>
</test>
<test>
910,7 → 977,8
<valid>false</valid>
<comment>Phil Haack says so</comment>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>120</id>
</test>
<test>
917,7 → 985,8
<address>"test\\blah"@example.com</address>
<valid>true</valid>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>121</id>
</test>
<test>
925,23 → 994,28
<valid>true</valid>
<comment>Any character can be escaped in a quoted string</comment>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>122</id>
</test>
<test>
<address>"test\&#13;blah"@example.com</address>
<valid>true</valid>
<comment>Quoted string specifically excludes carriage returns unless escaped</comment>
<comment>Quoted string specifically excludes carriage returns unless
escaped</comment>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>123</id>
</test>
<test>
<address>"test&#13;blah"@example.com</address>
<valid>false</valid>
<comment>Quoted string specifically excludes carriage returns</comment>
<comment>Quoted string specifically excludes carriage returns
</comment>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>124</id>
</test>
<test>
948,7 → 1022,8
<address>"test\"blah"@example.com</address>
<valid>true</valid>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>125</id>
</test>
<test>
956,7 → 1031,8
<valid>false</valid>
<comment>Phil Haack says so</comment>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>126</id>
</test>
<test>
963,7 → 1039,8
<address>customer/department@example.com</address>
<valid>true</valid>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>127</id>
</test>
<test>
970,7 → 1047,8
<address>_Yosemite.Sam@example.com</address>
<valid>true</valid>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>128</id>
</test>
<test>
977,7 → 1055,8
<address>~@example.com</address>
<valid>true</valid>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>129</id>
</test>
<test>
985,7 → 1064,8
<valid>false</valid>
<comment>Phil Haack says so</comment>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>130</id>
</test>
<test>
993,7 → 1073,8
<valid>false</valid>
<comment>Phil Haack says so</comment>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>131</id>
</test>
<test>
1001,7 → 1082,8
<valid>false</valid>
<comment>Phil Haack says so</comment>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>132</id>
</test>
<test>
1009,7 → 1091,8
<valid>false</valid>
<comment>Phil Haack says so</comment>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>133</id>
</test>
<test>
1016,7 → 1099,8
<address>"Austin@Powers"@example.com</address>
<valid>true</valid>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>134</id>
</test>
<test>
1023,7 → 1107,8
<address>Ima.Fool@example.com</address>
<valid>true</valid>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>135</id>
</test>
<test>
1030,7 → 1115,8
<address>"Ima.Fool"@example.com</address>
<valid>true</valid>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>136</id>
</test>
<test>
1037,7 → 1123,8
<address>"Ima Fool"@example.com</address>
<valid>true</valid>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>137</id>
</test>
<test>
1045,7 → 1132,8
<valid>false</valid>
<comment>Phil Haack says so</comment>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>138</id>
</test>
<test>
1053,7 → 1141,8
<valid>false</valid>
<comment>Escaping can only happen in a quoted string</comment>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>139</id>
</test>
<test>
1129,7 → 1218,8
<test>
<address>foo@[\1.2.3.4]</address>
<valid>false</valid>
<comment>RFC 5321 specifies the syntax for address-literal and does not allow escaping</comment>
<comment>RFC 5321 specifies the syntax for address-literal and does
not allow escaping</comment>
<source>Cal Henderson</source>
<sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink>
<id>149</id>
1144,13 → 1234,15
<test>
<address>first."mid\dle"."last"@example.com</address>
<valid>true</valid>
<comment>Backslash can escape anything but must escape something</comment>
<comment>Backslash can escape anything but must escape something
</comment>
<source>Dominic Sayers</source>
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
<id>151</id>
</test>
<test>
<address>Test.&#13;&#10; Folding.&#13;&#10; Whitespace@example.com</address>
<address>Test.&#13;&#10; Folding.&#13;&#10; Whitespace@example.com
</address>
<valid>true</valid>
<source>Dominic Sayers</source>
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1175,29 → 1267,36
<test>
<address>Abc\@def@example.com</address>
<valid>false</valid>
<comment>Was incorrectly given as a valid address in the original RFC 3696</comment>
<comment>Was incorrectly given as a valid address in the original RFC
3696</comment>
<source>RFC 3696 erratum 246</source>
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246</sourcelink>
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246
</sourcelink>
<id>155</id>
</test>
<test>
<address>Fred\ Bloggs@example.com</address>
<valid>false</valid>
<comment>Was incorrectly given as a valid address in the original RFC 3696</comment>
<comment>Was incorrectly given as a valid address in the original RFC
3696</comment>
<source>RFC 3696 erratum 246</source>
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246</sourcelink>
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246
</sourcelink>
<id>156</id>
</test>
<test>
<address>Joe.\\Blow@example.com</address>
<valid>false</valid>
<comment>Was incorrectly given as a valid address in the original RFC 3696</comment>
<comment>Was incorrectly given as a valid address in the original RFC
3696</comment>
<source>RFC 3696 erratum 246</source>
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246</sourcelink>
<sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246
</sourcelink>
<id>157</id>
</test>
<test>
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:12.34.567.89]</address>
<address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:12.34.567.89]
</address>
<valid>false</valid>
<comment>IPv4 part contains an invalid octet</comment>
<source>Cal Henderson</source>
1207,7 → 1306,8
<test>
<address>"test\&#13;&#10; blah"@example.com</address>
<valid>false</valid>
<comment>Folding white space can't appear within a quoted pair</comment>
<comment>Folding white space can't appear within a quoted pair
</comment>
<source>Cal Henderson</source>
<sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink>
<id>159</id>
1215,15 → 1315,18
<test>
<address>"test&#13;&#10; blah"@example.com</address>
<valid>true</valid>
<comment>This is a valid quoted string with folding white space</comment>
<comment>This is a valid quoted string with folding white space
</comment>
<source>Phil Haack</source>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
<sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
</sourcelink>
<id>160</id>
</test>
<test>
<address>{^c\@**Dog^}@cartoon.com</address>
<valid>false</valid>
<comment>This is a throwaway example from Doug Lovell's article. Actually it's not a valid address.</comment>
<comment>This is a throwaway example from Doug Lovell's article.
Actually it's not a valid address.</comment>
<source>Doug Lovell (LinuxJournal, June 2007)</source>
<sourcelink>http://www.linuxjournal.com/article/9585</sourcelink>
<id>161</id>
1271,7 → 1374,8
<test>
<address>cal(foo\)bar)@iamcal.com</address>
<valid>true</valid>
<comment>A valid address containing comments and an escaped parenthesis</comment>
<comment>A valid address containing comments and an escaped
parenthesis</comment>
<source>Cal Henderson</source>
<sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink>
<id>167</id>
1309,7 → 1413,8
<id>171</id>
</test>
<test>
<address>first.(&#13;&#10; middle&#13;&#10; )last@example.com</address>
<address>first.(&#13;&#10; middle&#13;&#10; )last@example.com
</address>
<valid>true</valid>
<comment>Comment with folding white space</comment>
<source>Dominic Sayers</source>
1317,7 → 1422,8
<id>172</id>
</test>
<test>
<address>first(12345678901234567890123456789012345678901234567890)last@(1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890)example.com</address>
<address>first(12345678901234567890123456789012345678901234567890)last@(1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890)example.com
</address>
<valid>false</valid>
<comment>Too long with comments, not too long without</comment>
<source>Dominic Sayers</source>
1325,7 → 1431,8
<id>173</id>
</test>
<test>
<address>first(Welcome to&#13;&#10; the ("wonderful" (!)) world&#13;&#10; of email)@example.com</address>
<address>first(Welcome to&#13;&#10; the ("wonderful" (!))
world&#13;&#10; of email)@example.com</address>
<valid>true</valid>
<comment>Silly example from my blog post</comment>
<source>Dominic Sayers</source>
1367,7 → 1474,8
<test>
<address>first(middle)last@example.com</address>
<valid>false</valid>
<comment>Can't have a comment or white space except at an element boundary</comment>
<comment>Can't have a comment or white space except at an element
boundary</comment>
<source>Dominic Sayers</source>
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
<id>179</id>
1397,9 → 1505,11
<id>182</id>
</test>
<test>
<address>first(abc("def".ghi).mno)middle(abc("def".ghi).mno).last@(abc("def".ghi).mno)example(abc("def".ghi).mno).(abc("def".ghi).mno)com(abc("def".ghi).mno)</address>
<address>first(abc("def".ghi).mno)middle(abc("def".ghi).mno).last@(abc("def".ghi).mno)example(abc("def".ghi).mno).(abc("def".ghi).mno)com(abc("def".ghi).mno)
</address>
<valid>false</valid>
<comment>Can't have comments or white space except at an element boundary</comment>
<comment>Can't have comments or white space except at an element
boundary</comment>
<source>Dominic Sayers</source>
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
<id>183</id>
1413,9 → 1523,11
<id>184</id>
</test>
<test>
<address>first.last@x(1234567890123456789012345678901234567890123456789012345678901234567890).com</address>
<address>first.last@x(1234567890123456789012345678901234567890123456789012345678901234567890).com
</address>
<valid>true</valid>
<comment>Label is longer than 63 octets, but not with comment removed</comment>
<comment>Label is longer than 63 octets, but not with comment removed
</comment>
<source>Cal Henderson</source>
<sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink>
<id>185</id>
1439,7 → 1551,8
<address>name.lastname@domain.com</address>
<valid>true</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>188</id>
</test>
<test>
1446,7 → 1559,8
<address>.@</address>
<valid>false</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>189</id>
</test>
<test>
1453,7 → 1567,8
<address>a@b</address>
<valid>false</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>190</id>
</test>
<test>
1460,7 → 1575,8
<address>@bar.com</address>
<valid>false</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>191</id>
</test>
<test>
1467,7 → 1583,8
<address>@@bar.com</address>
<valid>false</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>192</id>
</test>
<test>
1474,7 → 1591,8
<address>a@bar.com</address>
<valid>true</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>193</id>
</test>
<test>
1481,7 → 1599,8
<address>aaa.com</address>
<valid>false</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>194</id>
</test>
<test>
1488,7 → 1607,8
<address>aaa@.com</address>
<valid>false</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>195</id>
</test>
<test>
1495,7 → 1615,8
<address>aaa@.123</address>
<valid>false</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>196</id>
</test>
<test>
1502,7 → 1623,8
<address>aaa@[123.123.123.123]</address>
<valid>true</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>197</id>
</test>
<test>
1510,7 → 1632,8
<valid>false</valid>
<comment>extra data outside ip</comment>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>198</id>
</test>
<test>
1518,7 → 1641,8
<valid>false</valid>
<comment>not a valid IP</comment>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>199</id>
</test>
<test>
1525,7 → 1649,8
<address>a@bar.com.</address>
<valid>false</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>200</id>
</test>
<test>
1532,7 → 1657,8
<address>a@bar</address>
<valid>false</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>201</id>
</test>
<test>
1539,7 → 1665,8
<address>a-b@bar.com</address>
<valid>true</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>202</id>
</test>
<test>
1547,7 → 1674,8
<valid>true</valid>
<comment>TLDs can be any length</comment>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>203</id>
</test>
<test>
1554,7 → 1682,8
<address>+@b.com</address>
<valid>true</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>204</id>
</test>
<test>
1561,7 → 1690,8
<address>a@-b.com</address>
<valid>false</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>205</id>
</test>
<test>
1568,7 → 1698,8
<address>a@b-.com</address>
<valid>false</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>206</id>
</test>
<test>
1575,7 → 1706,8
<address>-@..com</address>
<valid>false</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>207</id>
</test>
<test>
1582,7 → 1714,8
<address>-@a..com</address>
<valid>false</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>208</id>
</test>
<test>
1589,7 → 1722,8
<address>a@b.co-foo.uk</address>
<valid>true</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>209</id>
</test>
<test>
1596,7 → 1730,8
<address>"hello my name is"@stutter.com</address>
<valid>true</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>210</id>
</test>
<test>
1603,7 → 1738,8
<address>"Test \"Fail\" Ing"@example.com</address>
<valid>true</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>211</id>
</test>
<test>
1610,7 → 1746,8
<address>valid@special.museum</address>
<valid>true</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>212</id>
</test>
<test>
1617,7 → 1754,8
<address>invalid@special.museum-</address>
<valid>false</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>213</id>
</test>
<test>
1625,7 → 1763,8
<valid>true</valid>
<comment>Disagree with Paul Gregg here</comment>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>214</id>
</test>
<test>
1633,7 → 1772,8
<valid>false</valid>
<comment>......</comment>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>215</id>
</test>
<test>
1641,7 → 1781,8
<valid>false</valid>
<comment>ip need to be []</comment>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>216</id>
</test>
<test>
1648,15 → 1789,18
<address>"Joe\\Blow"@example.com</address>
<valid>true</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>217</id>
</test>
<test>
<address>Invalid \&#10; Folding \&#10; Whitespace@example.com</address>
<address>Invalid \&#10; Folding \&#10; Whitespace@example.com
</address>
<valid>false</valid>
<source>Paul Gregg</source>
<comment>This isn't FWS so Dominic Sayers says it's invalid</comment>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>218</id>
</test>
<test>
1663,7 → 1807,8
<address>HM2Kinsists@(that comments are allowed)this.is.ok</address>
<valid>true</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>219</id>
</test>
<test>
1670,7 → 1815,8
<address>user%uucp!path@somehost.edu</address>
<valid>true</valid>
<source>Paul Gregg</source>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
<sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
</sourcelink>
<id>220</id>
</test>
<test>
1681,7 → 1827,10
<id>221</id>
</test>
<test>
<address> &#13;&#10; (&#13;&#10; x &#13;&#10; ) &#13;&#10; first&#13;&#10; ( &#13;&#10; x&#13;&#10; ) &#13;&#10; .&#13;&#10; ( &#13;&#10; x) &#13;&#10; last &#13;&#10; ( x &#13;&#10; ) &#13;&#10; @example.com</address>
<address> &#13;&#10; (&#13;&#10; x &#13;&#10; ) &#13;&#10;
first&#13;&#10; ( &#13;&#10; x&#13;&#10; ) &#13;&#10; .&#13;&#10; (
&#13;&#10; x) &#13;&#10; last &#13;&#10; ( x &#13;&#10; ) &#13;&#10;
@example.com</address>
<valid>true</valid>
<source>Dominic Sayers</source>
<sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1692,15 → 1841,18
<valid>true</valid>
<comment>obs-fws allows multiple lines</comment>
<source>George Pollard</source>
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink>
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses
</sourcelink>
<id>223</id>
</test>
<test>
<address>test. &#13;&#10; &#13;&#10; obs@syntax.com</address>
<valid>true</valid>
<comment>obs-fws allows multiple lines (test 2: space before break)</comment>
<comment>obs-fws allows multiple lines (test 2: space before break)
</comment>
<source>George Pollard</source>
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink>
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses
</sourcelink>
<id>224</id>
</test>
<test>
1708,7 → 1860,8
<valid>false</valid>
<comment>obs-fws must have at least one WSP per line</comment>
<source>George Pollard</source>
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink>
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses
</sourcelink>
<id>225</id>
</test>
<test>
1716,7 → 1869,8
<valid>true</valid>
<comment>can have escaped null character</comment>
<source>George Pollard</source>
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink>
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses
</sourcelink>
<id>226</id>
</test>
<test>
1724,7 → 1878,8
<valid>false</valid>
<comment>cannot have unescaped null character</comment>
<source>George Pollard</source>
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink>
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses
</sourcelink>
<id>227</id>
</test>
<test>
1732,7 → 1887,8
<valid>false</valid>
<comment>escaped null must be in quoted string</comment>
<source>George Pollard</source>
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink>
<sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses
</sourcelink>
<id>228</id>
</test>
<test>
1739,7 → 1895,8
<address>cdburgess+!#$%&amp;'*-/=?+_{}|~test@gmail.com</address>
<valid>true</valid>
<comment>Example given in comments</comment>
<source>http://www.dominicsayers.com/isemail/#comment-30024957</source>
<source>http://www.dominicsayers.com/isemail/#comment-30024957
</source>
<sourcelink>cdburgess</sourcelink>
<id>229</id>
</test>