Subversion Repositories javautils

Rev

Rev 9 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9 Rev 22
Line 1... Line 1...
1
<?xml version="1.0" encoding="utf-8"?>
1
<?xml version="1.0" encoding="utf-8" standalone="no"?>
2
 
-
 
-
 
2
<!DOCTYPE tests>
3
<!--
3
        <!--
4
Source: http://isemail.googlecode.com/svn/trunk/tests/tests.xml
4
                Source: http://isemail.googlecode.com/svn/trunk/tests/tests.xml
5
-->
5
        -->
6
 
-
 
-
 
6
<tests xmlns="http://www.w3.org/2001/XMLSchema-instance"
7
<tests version="1.10">
7
        SchemaLocation="mailValidatorTests.xsd">
8
        <test>
8
        <test>
9
                <address>first.last@example.com</address>
9
                <address>first.last@example.com</address>
10
                <valid>true</valid>
10
                <valid>true</valid>
11
                <source>Dominic Sayers</source>
11
                <source>Dominic Sayers</source>
12
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
12
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
13
                <id>1</id>
13
                <id>1</id>
14
        </test>
14
        </test>
15
        <test>
15
        <test>
16
                <address>1234567890123456789012345678901234567890123456789012345678901234@example.com</address>
16
                <address>1234567890123456789012345678901234567890123456789012345678901234@example.com
-
 
17
                </address>
17
                <valid>true</valid>
18
                <valid>true</valid>
18
                <source>Dominic Sayers</source>
19
                <source>Dominic Sayers</source>
19
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
20
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
20
                <id>2</id>
21
                <id>2</id>
21
        </test>
22
        </test>
22
        <test>
23
        <test>
23
                <address>first.last@sub.do,com</address>
24
                <address>first.last@sub.do,com</address>
24
                <valid>false</valid>
25
                <valid>false</valid>
25
                <comment>Mistyped comma instead of dot (replaces old #3 which was the same as #57)</comment>
26
                <comment>Mistyped comma instead of dot (replaces old #3 which was the
-
 
27
                        same as #57)</comment>
26
                <source>Rob &lt;bob@bob.com&gt;</source>
28
                <source>Rob &lt;bob@bob.com&gt;</source>
27
                <id>3</id>
29
                <id>3</id>
28
        </test>
30
        </test>
29
        <test>
31
        <test>
30
                <address>"first\"last"@example.com</address>
32
                <address>"first\"last"@example.com</address>
Line 54... Line 56...
54
                <source>Dominic Sayers</source>
56
                <source>Dominic Sayers</source>
55
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
57
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
56
                <id>7</id>
58
                <id>7</id>
57
        </test>
59
        </test>
58
        <test>
60
        <test>
59
                <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>
61
                <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
-
 
62
                </address>
60
                <valid>true</valid>
63
                <valid>true</valid>
61
                <comment>Total length reduced to 254 characters so it's still valid</comment>
64
                <comment>Total length reduced to 254 characters so it's still valid
-
 
65
                </comment>
62
                <source>Dominic Sayers</source>
66
                <source>Dominic Sayers</source>
63
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
67
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
64
                <id>8</id>
68
                <id>8</id>
65
        </test>
69
        </test>
66
        <test>
70
        <test>
67
                <address>1234567890123456789012345678901234567890123456789012345678@12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.123456789012345678901234567890123456789012345678901234567890123.example.com</address>
71
                <address>1234567890123456789012345678901234567890123456789012345678@12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.123456789012345678901234567890123456789012345678901234567890123.example.com
-
 
72
                </address>
68
                <valid>true</valid>
73
                <valid>true</valid>
69
                <comment>Total length reduced to 254 characters so it's still valid</comment>
74
                <comment>Total length reduced to 254 characters so it's still valid
-
 
75
                </comment>
70
                <source>RFC 3696 erratum 1690</source>
76
                <source>RFC 3696 erratum 1690</source>
71
                <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=1690</sourcelink>
77
                <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=1690
-
 
78
                </sourcelink>
72
                <id>9</id>
79
                <id>9</id>
73
        </test>
80
        </test>
74
        <test>
81
        <test>
75
                <address>first.last@[12.34.56.78]</address>
82
                <address>first.last@[12.34.56.78]</address>
76
                <valid>true</valid>
83
                <valid>true</valid>
77
                <source>RFC 3696 erratum 1690</source>
84
                <source>RFC 3696 erratum 1690</source>
78
                <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=1690</sourcelink>
85
                <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=1690
-
 
86
                </sourcelink>
79
                <id>10</id>
87
                <id>10</id>
80
        </test>
88
        </test>
81
        <test>
89
        <test>
82
                <address>first.last@[IPv6:::12.34.56.78]</address>
90
                <address>first.last@[IPv6:::12.34.56.78]</address>
83
                <valid>true</valid>
91
                <valid>true</valid>
Line 91... Line 99...
91
                <source>Dominic Sayers</source>
99
                <source>Dominic Sayers</source>
92
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
100
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
93
                <id>12</id>
101
                <id>12</id>
94
        </test>
102
        </test>
95
        <test>
103
        <test>
96
                <address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:12.34.56.78]</address>
104
                <address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:12.34.56.78]
-
 
105
                </address>
97
                <valid>true</valid>
106
                <valid>true</valid>
98
                <source>Dominic Sayers</source>
107
                <source>Dominic Sayers</source>
99
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
108
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
100
                <id>13</id>
109
                <id>13</id>
101
        </test>
110
        </test>
Line 119... Line 128...
119
                <source>Dominic Sayers</source>
128
                <source>Dominic Sayers</source>
120
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
129
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
121
                <id>16</id>
130
                <id>16</id>
122
        </test>
131
        </test>
123
        <test>
132
        <test>
124
                <address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:8888]</address>
133
                <address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:8888]
-
 
134
                </address>
125
                <valid>true</valid>
135
                <valid>true</valid>
126
                <source>Dominic Sayers</source>
136
                <source>Dominic Sayers</source>
127
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
137
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
128
                <id>17</id>
138
                <id>17</id>
129
        </test>
139
        </test>
130
        <test>
140
        <test>
131
                <address>first.last@x23456789012345678901234567890123456789012345678901234567890123.example.com</address>
141
                <address>first.last@x23456789012345678901234567890123456789012345678901234567890123.example.com
-
 
142
                </address>
132
                <valid>true</valid>
143
                <valid>true</valid>
133
                <source>Dominic Sayers</source>
144
                <source>Dominic Sayers</source>
134
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
145
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
135
                <id>18</id>
146
                <id>18</id>
136
        </test>
147
        </test>
Line 147... Line 158...
147
                <source>Dominic Sayers</source>
158
                <source>Dominic Sayers</source>
148
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
159
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
149
                <id>20</id>
160
                <id>20</id>
150
        </test>
161
        </test>
151
        <test>
162
        <test>
152
                <address>123456789012345678901234567890123456789012345678901234567890@12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.12.example.com</address>
163
                <address>123456789012345678901234567890123456789012345678901234567890@12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.12.example.com
-
 
164
                </address>
153
                <valid>false</valid>
165
                <valid>false</valid>
154
                <comment>Entire address is longer than 254 characters</comment>
166
                <comment>Entire address is longer than 254 characters</comment>
155
                <source>RFC 3696 erratum 1690</source>
167
                <source>RFC 3696 erratum 1690</source>
156
                <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=1690</sourcelink>
168
                <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=1690
-
 
169
                </sourcelink>
157
                <id>21</id>
170
                <id>21</id>
158
        </test>
171
        </test>
159
        <test>
172
        <test>
160
                <address>first.last</address>
173
                <address>first.last</address>
161
                <valid>false</valid>
174
                <valid>false</valid>
Line 163... Line 176...
163
                <source>Dominic Sayers</source>
176
                <source>Dominic Sayers</source>
164
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
177
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
165
                <id>22</id>
178
                <id>22</id>
166
        </test>
179
        </test>
167
        <test>
180
        <test>
168
                <address>12345678901234567890123456789012345678901234567890123456789012345@example.com</address>
181
                <address>12345678901234567890123456789012345678901234567890123456789012345@example.com
-
 
182
                </address>
169
                <valid>false</valid>
183
                <valid>false</valid>
170
                <comment>Local part more than 64 characters</comment>
184
                <comment>Local part more than 64 characters</comment>
171
                <source>Dominic Sayers</source>
185
                <source>Dominic Sayers</source>
172
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
186
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
173
                <id>23</id>
187
                <id>23</id>
Line 251... Line 265...
251
                <source>Dominic Sayers</source>
265
                <source>Dominic Sayers</source>
252
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
266
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
253
                <id>33</id>
267
                <id>33</id>
254
        </test>
268
        </test>
255
        <test>
269
        <test>
256
                <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>
270
                <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
-
 
271
                </address>
257
                <valid>false</valid>
272
                <valid>false</valid>
258
                <comment>Domain exceeds 255 chars</comment>
273
                <comment>Domain exceeds 255 chars</comment>
259
                <source>Dominic Sayers</source>
274
                <source>Dominic Sayers</source>
260
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
275
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
261
                <id>34</id>
276
                <id>34</id>
Line 291... Line 306...
291
                <source>Dominic Sayers</source>
306
                <source>Dominic Sayers</source>
292
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
307
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
293
                <id>38</id>
308
                <id>38</id>
294
        </test>
309
        </test>
295
        <test>
310
        <test>
296
                <address>first.last@[IPv6:1111:2222:3333::4444:5555:12.34.56.78]</address>
311
                <address>first.last@[IPv6:1111:2222:3333::4444:5555:12.34.56.78]
-
 
312
                </address>
297
                <valid>false</valid>
313
                <valid>false</valid>
298
                <comment>Too many IPv6 groups (4 max)</comment>
314
                <comment>Too many IPv6 groups (4 max)</comment>
299
                <source>Dominic Sayers</source>
315
                <source>Dominic Sayers</source>
300
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
316
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
301
                <id>39</id>
317
                <id>39</id>
302
        </test>
318
        </test>
303
        <test>
319
        <test>
304
                <address>first.last@[IPv6:1111:2222:3333:4444:5555:12.34.56.78]</address>
320
                <address>first.last@[IPv6:1111:2222:3333:4444:5555:12.34.56.78]
-
 
321
                </address>
305
                <valid>false</valid>
322
                <valid>false</valid>
306
                <comment>Not enough IPv6 groups</comment>
323
                <comment>Not enough IPv6 groups</comment>
307
                <source>Dominic Sayers</source>
324
                <source>Dominic Sayers</source>
308
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
325
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
309
                <id>40</id>
326
                <id>40</id>
310
        </test>
327
        </test>
311
        <test>
328
        <test>
312
                <address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:12.34.56.78]</address>
329
                <address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:12.34.56.78]
-
 
330
                </address>
313
                <valid>false</valid>
331
                <valid>false</valid>
314
                <comment>Too many IPv6 groups (6 max)</comment>
332
                <comment>Too many IPv6 groups (6 max)</comment>
315
                <source>Dominic Sayers</source>
333
                <source>Dominic Sayers</source>
316
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
334
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
317
                <id>41</id>
335
                <id>41</id>
318
        </test>
336
        </test>
319
        <test>
337
        <test>
320
                <address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777]</address>
338
                <address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777]
-
 
339
                </address>
321
                <valid>false</valid>
340
                <valid>false</valid>
322
                <comment>Not enough IPv6 groups</comment>
341
                <comment>Not enough IPv6 groups</comment>
323
                <source>Dominic Sayers</source>
342
                <source>Dominic Sayers</source>
324
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
343
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
325
                <id>42</id>
344
                <id>42</id>
326
        </test>
345
        </test>
327
        <test>
346
        <test>
328
                <address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:8888:9999]</address>
347
                <address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:8888:9999]
-
 
348
                </address>
329
                <valid>false</valid>
349
                <valid>false</valid>
330
                <comment>Too many IPv6 groups (8 max)</comment>
350
                <comment>Too many IPv6 groups (8 max)</comment>
331
                <source>Dominic Sayers</source>
351
                <source>Dominic Sayers</source>
332
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
352
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
333
                <id>43</id>
353
                <id>43</id>
Line 339... Line 359...
339
                <source>Dominic Sayers</source>
359
                <source>Dominic Sayers</source>
340
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
360
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
341
                <id>44</id>
361
                <id>44</id>
342
        </test>
362
        </test>
343
        <test>
363
        <test>
344
                <address>first.last@[IPv6:1111:2222:3333::4444:5555:6666:7777]</address>
364
                <address>first.last@[IPv6:1111:2222:3333::4444:5555:6666:7777]
-
 
365
                </address>
345
                <valid>false</valid>
366
                <valid>false</valid>
346
                <comment>Too many IPv6 groups (6 max)</comment>
367
                <comment>Too many IPv6 groups (6 max)</comment>
347
                <source>Dominic Sayers</source>
368
                <source>Dominic Sayers</source>
348
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
369
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
349
                <id>45</id>
370
                <id>45</id>
Line 395... Line 416...
395
                <source>Dominic Sayers</source>
416
                <source>Dominic Sayers</source>
396
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
417
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
397
                <id>51</id>
418
                <id>51</id>
398
        </test>
419
        </test>
399
        <test>
420
        <test>
400
                <address>first.last@x234567890123456789012345678901234567890123456789012345678901234.example.com</address>
421
                <address>first.last@x234567890123456789012345678901234567890123456789012345678901234.example.com
-
 
422
                </address>
401
                <valid>false</valid>
423
                <valid>false</valid>
402
                <comment>Label can't be longer than 63 octets</comment>
424
                <comment>Label can't be longer than 63 octets</comment>
403
                <source>Dominic Sayers</source>
425
                <source>Dominic Sayers</source>
404
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
426
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
405
                <id>52</id>
427
                <id>52</id>
Line 413... Line 435...
413
        </test>
435
        </test>
414
        <test>
436
        <test>
415
                <address>"Fred\ Bloggs"@example.com</address>
437
                <address>"Fred\ Bloggs"@example.com</address>
416
                <valid>true</valid>
438
                <valid>true</valid>
417
                <source>RFC 3696 (as amended by erratum 2005-07-09)</source>
439
                <source>RFC 3696 (as amended by erratum 2005-07-09)</source>
418
                <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246</sourcelink>
440
                <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246
-
 
441
                </sourcelink>
419
                <id>54</id>
442
                <id>54</id>
420
        </test>
443
        </test>
421
        <test>
444
        <test>
422
                <address>"Joe.\\Blow"@example.com</address>
445
                <address>"Joe.\\Blow"@example.com</address>
423
                <valid>true</valid>
446
                <valid>true</valid>
424
                <source>RFC 3696 (as amended by erratum 2005-07-09)</source>
447
                <source>RFC 3696 (as amended by erratum 2005-07-09)</source>
425
                <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246</sourcelink>
448
                <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246
-
 
449
                </sourcelink>
426
                <id>55</id>
450
                <id>55</id>
427
        </test>
451
        </test>
428
        <test>
452
        <test>
429
                <address>"Abc@def"@example.com</address>
453
                <address>"Abc@def"@example.com</address>
430
                <valid>true</valid>
454
                <valid>true</valid>
431
                <source>RFC 3696 (as amended by erratum 2005-07-09)</source>
455
                <source>RFC 3696 (as amended by erratum 2005-07-09)</source>
432
                <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246</sourcelink>
456
                <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246
-
 
457
                </sourcelink>
433
                <id>56</id>
458
                <id>56</id>
434
        </test>
459
        </test>
435
        <test>
460
        <test>
436
                <address>"Fred Bloggs"@example.com</address>
461
                <address>"Fred Bloggs"@example.com</address>
437
                <valid>true</valid>
462
                <valid>true</valid>
Line 482... Line 507...
482
                <id>63</id>
507
                <id>63</id>
483
        </test>
508
        </test>
484
        <test>
509
        <test>
485
                <address>abc\@def@example.com</address>
510
                <address>abc\@def@example.com</address>
486
                <valid>false</valid>
511
                <valid>false</valid>
487
                <comment>This example from RFC 3696 was corrected in an erratum</comment>
512
                <comment>This example from RFC 3696 was corrected in an erratum
-
 
513
                </comment>
488
                <source>Doug Lovell (LinuxJournal, June 2007)</source>
514
                <source>Doug Lovell (LinuxJournal, June 2007)</source>
489
                <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink>
515
                <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink>
490
                <id>64</id>
516
                <id>64</id>
491
        </test>
517
        </test>
492
        <test>
518
        <test>
493
                <address>abc\\@example.com</address>
519
                <address>abc\\@example.com</address>
494
                <valid>false</valid>
520
                <valid>false</valid>
495
                <comment>This example from RFC 3696 was corrected in an erratum</comment>
521
                <comment>This example from RFC 3696 was corrected in an erratum
-
 
522
                </comment>
496
                <source>Doug Lovell (LinuxJournal, June 2007)</source>
523
                <source>Doug Lovell (LinuxJournal, June 2007)</source>
497
                <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink>
524
                <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink>
498
                <id>65</id>
525
                <id>65</id>
499
        </test>
526
        </test>
500
        <test>
527
        <test>
Line 633... Line 660...
633
        </test>
660
        </test>
634
        <test>
661
        <test>
635
                <valid>true</valid>
662
                <valid>true</valid>
636
                <address>test@example.com</address>
663
                <address>test@example.com</address>
637
                <source>Dave Child</source>
664
                <source>Dave Child</source>
638
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
665
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
666
                </sourcelink>
639
                <id>83</id>
667
                <id>83</id>
640
        </test>
668
        </test>
641
        <test>
669
        <test>
642
                <valid>true</valid>
670
                <valid>true</valid>
643
                <address>TEST@example.com</address>
671
                <address>TEST@example.com</address>
644
                <source>Dave Child</source>
672
                <source>Dave Child</source>
645
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
673
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
674
                </sourcelink>
646
                <id>84</id>
675
                <id>84</id>
647
        </test>
676
        </test>
648
        <test>
677
        <test>
649
                <valid>true</valid>
678
                <valid>true</valid>
650
                <address>1234567890@example.com</address>
679
                <address>1234567890@example.com</address>
651
                <source>Dave Child</source>
680
                <source>Dave Child</source>
652
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
681
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
682
                </sourcelink>
653
                <id>85</id>
683
                <id>85</id>
654
        </test>
684
        </test>
655
        <test>
685
        <test>
656
                <valid>true</valid>
686
                <valid>true</valid>
657
                <address>test+test@example.com</address>
687
                <address>test+test@example.com</address>
658
                <source>Dave Child</source>
688
                <source>Dave Child</source>
659
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
689
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
690
                </sourcelink>
660
                <id>86</id>
691
                <id>86</id>
661
        </test>
692
        </test>
662
        <test>
693
        <test>
663
                <valid>true</valid>
694
                <valid>true</valid>
664
                <address>test-test@example.com</address>
695
                <address>test-test@example.com</address>
665
                <source>Dave Child</source>
696
                <source>Dave Child</source>
666
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
697
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
698
                </sourcelink>
667
                <id>87</id>
699
                <id>87</id>
668
        </test>
700
        </test>
669
        <test>
701
        <test>
670
                <valid>true</valid>
702
                <valid>true</valid>
671
                <address>t*est@example.com</address>
703
                <address>t*est@example.com</address>
672
                <source>Dave Child</source>
704
                <source>Dave Child</source>
673
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
705
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
706
                </sourcelink>
674
                <id>88</id>
707
                <id>88</id>
675
        </test>
708
        </test>
676
        <test>
709
        <test>
677
                <valid>true</valid>
710
                <valid>true</valid>
678
                <address>+1~1+@example.com</address>
711
                <address>+1~1+@example.com</address>
679
                <source>Dave Child</source>
712
                <source>Dave Child</source>
680
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
713
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
714
                </sourcelink>
681
                <id>89</id>
715
                <id>89</id>
682
        </test>
716
        </test>
683
        <test>
717
        <test>
684
                <valid>true</valid>
718
                <valid>true</valid>
685
                <address>{_test_}@example.com</address>
719
                <address>{_test_}@example.com</address>
686
                <source>Dave Child</source>
720
                <source>Dave Child</source>
687
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
721
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
722
                </sourcelink>
688
                <id>90</id>
723
                <id>90</id>
689
        </test>
724
        </test>
690
        <test>
725
        <test>
691
                <valid>true</valid>
726
                <valid>true</valid>
692
                <address>"[[ test ]]"@example.com</address>
727
                <address>"[[ test ]]"@example.com</address>
693
                <source>Dave Child</source>
728
                <source>Dave Child</source>
694
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
729
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
730
                </sourcelink>
695
                <id>91</id>
731
                <id>91</id>
696
        </test>
732
        </test>
697
        <test>
733
        <test>
698
                <valid>true</valid>
734
                <valid>true</valid>
699
                <address>test.test@example.com</address>
735
                <address>test.test@example.com</address>
700
                <source>Dave Child</source>
736
                <source>Dave Child</source>
701
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
737
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
738
                </sourcelink>
702
                <id>92</id>
739
                <id>92</id>
703
        </test>
740
        </test>
704
        <test>
741
        <test>
705
                <valid>true</valid>
742
                <valid>true</valid>
706
                <address>"test.test"@example.com</address>
743
                <address>"test.test"@example.com</address>
707
                <source>Dave Child</source>
744
                <source>Dave Child</source>
708
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
745
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
746
                </sourcelink>
709
                <id>93</id>
747
                <id>93</id>
710
        </test>
748
        </test>
711
        <test>
749
        <test>
712
                <valid>true</valid>
750
                <valid>true</valid>
713
                <address>test."test"@example.com</address>
751
                <address>test."test"@example.com</address>
714
                <comment>Obsolete form, but documented in RFC 5322</comment>
752
                <comment>Obsolete form, but documented in RFC 5322</comment>
715
                <source>Dave Child</source>
753
                <source>Dave Child</source>
716
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
754
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
755
                </sourcelink>
717
                <id>94</id>
756
                <id>94</id>
718
        </test>
757
        </test>
719
        <test>
758
        <test>
720
                <valid>true</valid>
759
                <valid>true</valid>
721
                <address>"test@test"@example.com</address>
760
                <address>"test@test"@example.com</address>
722
                <source>Dave Child</source>
761
                <source>Dave Child</source>
723
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
762
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
763
                </sourcelink>
724
                <id>95</id>
764
                <id>95</id>
725
        </test>
765
        </test>
726
        <test>
766
        <test>
727
                <valid>true</valid>
767
                <valid>true</valid>
728
                <address>test@123.123.123.x123</address>
768
                <address>test@123.123.123.x123</address>
729
                <source>Dave Child</source>
769
                <source>Dave Child</source>
730
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
770
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
771
                </sourcelink>
731
                <id>96</id>
772
                <id>96</id>
732
        </test>
773
        </test>
733
        <test>
774
        <test>
734
                <valid>false</valid>
775
                <valid>false</valid>
735
                <address>test@123.123.123.123</address>
776
                <address>test@123.123.123.123</address>
736
                <comment>Top Level Domain won't be all-numeric (see RFC 3696 Section 2). I disagree with Dave Child on this one.</comment>
777
                <comment>Top Level Domain won't be all-numeric (see RFC 3696 Section
-
 
778
                        2). I disagree with Dave Child on this one.</comment>
737
                <source>Dave Child</source>
779
                <source>Dave Child</source>
738
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
780
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
781
                </sourcelink>
739
                <id>97</id>
782
                <id>97</id>
740
        </test>
783
        </test>
741
        <test>
784
        <test>
742
                <valid>true</valid>
785
                <valid>true</valid>
743
                <address>test@[123.123.123.123]</address>
786
                <address>test@[123.123.123.123]</address>
744
                <source>Dave Child</source>
787
                <source>Dave Child</source>
745
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
788
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
789
                </sourcelink>
746
                <id>98</id>
790
                <id>98</id>
747
        </test>
791
        </test>
748
        <test>
792
        <test>
749
                <valid>true</valid>
793
                <valid>true</valid>
750
                <address>test@example.example.com</address>
794
                <address>test@example.example.com</address>
751
                <source>Dave Child</source>
795
                <source>Dave Child</source>
752
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
796
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
797
                </sourcelink>
753
                <id>99</id>
798
                <id>99</id>
754
        </test>
799
        </test>
755
        <test>
800
        <test>
756
                <valid>true</valid>
801
                <valid>true</valid>
757
                <address>test@example.example.example.com</address>
802
                <address>test@example.example.example.com</address>
758
                <source>Dave Child</source>
803
                <source>Dave Child</source>
759
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
804
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
805
                </sourcelink>
760
                <id>100</id>
806
                <id>100</id>
761
        </test>
807
        </test>
762
        <test>
808
        <test>
763
                <valid>false</valid>
809
                <valid>false</valid>
764
                <address>test.example.com</address>
810
                <address>test.example.com</address>
765
                <source>Dave Child</source>
811
                <source>Dave Child</source>
766
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
812
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
813
                </sourcelink>
767
                <id>101</id>
814
                <id>101</id>
768
        </test>
815
        </test>
769
        <test>
816
        <test>
770
                <valid>false</valid>
817
                <valid>false</valid>
771
                <address>test.@example.com</address>
818
                <address>test.@example.com</address>
772
                <source>Dave Child</source>
819
                <source>Dave Child</source>
773
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
820
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
821
                </sourcelink>
774
                <id>102</id>
822
                <id>102</id>
775
        </test>
823
        </test>
776
        <test>
824
        <test>
777
                <valid>false</valid>
825
                <valid>false</valid>
778
                <address>test..test@example.com</address>
826
                <address>test..test@example.com</address>
779
                <source>Dave Child</source>
827
                <source>Dave Child</source>
780
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
828
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
829
                </sourcelink>
781
                <id>103</id>
830
                <id>103</id>
782
        </test>
831
        </test>
783
        <test>
832
        <test>
784
                <valid>false</valid>
833
                <valid>false</valid>
785
                <address>.test@example.com</address>
834
                <address>.test@example.com</address>
786
                <source>Dave Child</source>
835
                <source>Dave Child</source>
787
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
836
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
837
                </sourcelink>
788
                <id>104</id>
838
                <id>104</id>
789
        </test>
839
        </test>
790
        <test>
840
        <test>
791
                <valid>false</valid>
841
                <valid>false</valid>
792
                <address>test@test@example.com</address>
842
                <address>test@test@example.com</address>
793
                <source>Dave Child</source>
843
                <source>Dave Child</source>
794
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
844
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
845
                </sourcelink>
795
                <id>105</id>
846
                <id>105</id>
796
        </test>
847
        </test>
797
        <test>
848
        <test>
798
                <valid>false</valid>
849
                <valid>false</valid>
799
                <address>test@@example.com</address>
850
                <address>test@@example.com</address>
800
                <source>Dave Child</source>
851
                <source>Dave Child</source>
801
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
852
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
853
                </sourcelink>
802
                <id>106</id>
854
                <id>106</id>
803
        </test>
855
        </test>
804
        <test>
856
        <test>
805
                <valid>false</valid>
857
                <valid>false</valid>
806
                <address>-- test --@example.com</address>
858
                <address>-- test --@example.com</address>
807
                <comment>No spaces allowed in local part</comment>
859
                <comment>No spaces allowed in local part</comment>
808
                <source>Dave Child</source>
860
                <source>Dave Child</source>
809
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
861
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
862
                </sourcelink>
810
                <id>107</id>
863
                <id>107</id>
811
        </test>
864
        </test>
812
        <test>
865
        <test>
813
                <valid>false</valid>
866
                <valid>false</valid>
814
                <address>[test]@example.com</address>
867
                <address>[test]@example.com</address>
815
                <comment>Square brackets only allowed within quotes</comment>
868
                <comment>Square brackets only allowed within quotes</comment>
816
                <source>Dave Child</source>
869
                <source>Dave Child</source>
817
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
870
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
871
                </sourcelink>
818
                <id>108</id>
872
                <id>108</id>
819
        </test>
873
        </test>
820
        <test>
874
        <test>
821
                <valid>true</valid>
875
                <valid>true</valid>
822
                <address>"test\test"@example.com</address>
876
                <address>"test\test"@example.com</address>
823
                <comment>Any character can be escaped in a quoted string</comment>
877
                <comment>Any character can be escaped in a quoted string</comment>
824
                <source>Dave Child</source>
878
                <source>Dave Child</source>
825
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
879
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
880
                </sourcelink>
826
                <id>109</id>
881
                <id>109</id>
827
        </test>
882
        </test>
828
        <test>
883
        <test>
829
                <valid>false</valid>
884
                <valid>false</valid>
830
                <address>"test"test"@example.com</address>
885
                <address>"test"test"@example.com</address>
831
                <comment>Quotes cannot be nested</comment>
886
                <comment>Quotes cannot be nested</comment>
832
                <source>Dave Child</source>
887
                <source>Dave Child</source>
833
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
888
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
889
                </sourcelink>
834
                <id>110</id>
890
                <id>110</id>
835
        </test>
891
        </test>
836
        <test>
892
        <test>
837
                <valid>false</valid>
893
                <valid>false</valid>
838
                <address>()[]\;:,&gt;&lt;@example.com</address>
894
                <address>()[]\;:,&gt;&lt;@example.com</address>
839
                <comment>Disallowed Characters</comment>
895
                <comment>Disallowed Characters</comment>
840
                <source>Dave Child</source>
896
                <source>Dave Child</source>
841
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
897
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
898
                </sourcelink>
842
                <id>111</id>
899
                <id>111</id>
843
        </test>
900
        </test>
844
        <test>
901
        <test>
845
                <valid>false</valid>
902
                <valid>false</valid>
846
                <comment>Dave Child says so</comment>
903
                <comment>Dave Child says so</comment>
847
                <address>test@.</address>
904
                <address>test@.</address>
848
                <source>Dave Child</source>
905
                <source>Dave Child</source>
849
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
906
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
907
                </sourcelink>
850
                <id>112</id>
908
                <id>112</id>
851
        </test>
909
        </test>
852
        <test>
910
        <test>
853
                <valid>false</valid>
911
                <valid>false</valid>
854
                <comment>Dave Child says so</comment>
912
                <comment>Dave Child says so</comment>
855
                <address>test@example.</address>
913
                <address>test@example.</address>
856
                <source>Dave Child</source>
914
                <source>Dave Child</source>
857
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
915
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
916
                </sourcelink>
858
                <id>113</id>
917
                <id>113</id>
859
        </test>
918
        </test>
860
        <test>
919
        <test>
861
                <valid>false</valid>
920
                <valid>false</valid>
862
                <comment>Dave Child says so</comment>
921
                <comment>Dave Child says so</comment>
863
                <address>test@.org</address>
922
                <address>test@.org</address>
864
                <source>Dave Child</source>
923
                <source>Dave Child</source>
865
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
924
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
925
                </sourcelink>
866
                <id>114</id>
926
                <id>114</id>
867
        </test>
927
        </test>
868
        <test>
928
        <test>
869
                <valid>false</valid>
929
                <valid>false</valid>
870
                <address>test@123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012.com</address>
930
                <address>test@123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012.com
-
 
931
                </address>
871
                <comment>255 characters is maximum length for domain. This is 256.</comment>
932
                <comment>255 characters is maximum length for domain. This is 256.
-
 
933
                </comment>
872
                <source>Dave Child</source>
934
                <source>Dave Child</source>
873
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
935
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
936
                </sourcelink>
874
                <id>115</id>
937
                <id>115</id>
875
        </test>
938
        </test>
876
        <test>
939
        <test>
877
                <valid>false</valid>
940
                <valid>false</valid>
878
                <comment>Dave Child says so</comment>
941
                <comment>Dave Child says so</comment>
879
                <address>test@example</address>
942
                <address>test@example</address>
880
                <source>Dave Child</source>
943
                <source>Dave Child</source>
881
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
944
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
945
                </sourcelink>
882
                <id>116</id>
946
                <id>116</id>
883
        </test>
947
        </test>
884
        <test>
948
        <test>
885
                <valid>false</valid>
949
                <valid>false</valid>
886
                <comment>Dave Child says so</comment>
950
                <comment>Dave Child says so</comment>
887
                <address>test@[123.123.123.123</address>
951
                <address>test@[123.123.123.123</address>
888
                <source>Dave Child</source>
952
                <source>Dave Child</source>
889
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
953
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
954
                </sourcelink>
890
                <id>117</id>
955
                <id>117</id>
891
        </test>
956
        </test>
892
        <test>
957
        <test>
893
                <valid>false</valid>
958
                <valid>false</valid>
894
                <comment>Dave Child says so</comment>
959
                <comment>Dave Child says so</comment>
895
                <address>test@123.123.123.123]</address>
960
                <address>test@123.123.123.123]</address>
896
                <source>Dave Child</source>
961
                <source>Dave Child</source>
897
                <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink>
962
                <sourcelink>http://code.google.com/p/php-email-address-validation/
-
 
963
                </sourcelink>
898
                <id>118</id>
964
                <id>118</id>
899
        </test>
965
        </test>
900
        <test>
966
        <test>
901
                <address>NotAnEmail</address>
967
                <address>NotAnEmail</address>
902
                <valid>false</valid>
968
                <valid>false</valid>
903
                <comment>Phil Haack says so</comment>
969
                <comment>Phil Haack says so</comment>
904
                <source>Phil Haack</source>
970
                <source>Phil Haack</source>
905
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
971
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
972
                </sourcelink>
906
                <id>119</id>
973
                <id>119</id>
907
        </test>
974
        </test>
908
        <test>
975
        <test>
909
                <address>@NotAnEmail</address>
976
                <address>@NotAnEmail</address>
910
                <valid>false</valid>
977
                <valid>false</valid>
911
                <comment>Phil Haack says so</comment>
978
                <comment>Phil Haack says so</comment>
912
                <source>Phil Haack</source>
979
                <source>Phil Haack</source>
913
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
980
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
981
                </sourcelink>
914
                <id>120</id>
982
                <id>120</id>
915
        </test>
983
        </test>
916
        <test>
984
        <test>
917
                <address>"test\\blah"@example.com</address>
985
                <address>"test\\blah"@example.com</address>
918
                <valid>true</valid>
986
                <valid>true</valid>
919
                <source>Phil Haack</source>
987
                <source>Phil Haack</source>
920
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
988
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
989
                </sourcelink>
921
                <id>121</id>
990
                <id>121</id>
922
        </test>
991
        </test>
923
        <test>
992
        <test>
924
                <address>"test\blah"@example.com</address>
993
                <address>"test\blah"@example.com</address>
925
                <valid>true</valid>
994
                <valid>true</valid>
926
                <comment>Any character can be escaped in a quoted string</comment>
995
                <comment>Any character can be escaped in a quoted string</comment>
927
                <source>Phil Haack</source>
996
                <source>Phil Haack</source>
928
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
997
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
998
                </sourcelink>
929
                <id>122</id>
999
                <id>122</id>
930
        </test>
1000
        </test>
931
        <test>
1001
        <test>
932
                <address>"test\&#13;blah"@example.com</address>
1002
                <address>"test\&#13;blah"@example.com</address>
933
                <valid>true</valid>
1003
                <valid>true</valid>
934
                <comment>Quoted string specifically excludes carriage returns unless escaped</comment>
1004
                <comment>Quoted string specifically excludes carriage returns unless
-
 
1005
                        escaped</comment>
935
                <source>Phil Haack</source>
1006
                <source>Phil Haack</source>
936
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
1007
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
1008
                </sourcelink>
937
                <id>123</id>
1009
                <id>123</id>
938
        </test>
1010
        </test>
939
        <test>
1011
        <test>
940
                <address>"test&#13;blah"@example.com</address>
1012
                <address>"test&#13;blah"@example.com</address>
941
                <valid>false</valid>
1013
                <valid>false</valid>
942
                <comment>Quoted string specifically excludes carriage returns</comment>
1014
                <comment>Quoted string specifically excludes carriage returns
-
 
1015
                </comment>
943
                <source>Phil Haack</source>
1016
                <source>Phil Haack</source>
944
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
1017
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
1018
                </sourcelink>
945
                <id>124</id>
1019
                <id>124</id>
946
        </test>
1020
        </test>
947
        <test>
1021
        <test>
948
                <address>"test\"blah"@example.com</address>
1022
                <address>"test\"blah"@example.com</address>
949
                <valid>true</valid>
1023
                <valid>true</valid>
950
                <source>Phil Haack</source>
1024
                <source>Phil Haack</source>
951
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
1025
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
1026
                </sourcelink>
952
                <id>125</id>
1027
                <id>125</id>
953
        </test>
1028
        </test>
954
        <test>
1029
        <test>
955
                <address>"test"blah"@example.com</address>
1030
                <address>"test"blah"@example.com</address>
956
                <valid>false</valid>
1031
                <valid>false</valid>
957
                <comment>Phil Haack says so</comment>
1032
                <comment>Phil Haack says so</comment>
958
                <source>Phil Haack</source>
1033
                <source>Phil Haack</source>
959
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
1034
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
1035
                </sourcelink>
960
                <id>126</id>
1036
                <id>126</id>
961
        </test>
1037
        </test>
962
        <test>
1038
        <test>
963
                <address>customer/department@example.com</address>
1039
                <address>customer/department@example.com</address>
964
                <valid>true</valid>
1040
                <valid>true</valid>
965
                <source>Phil Haack</source>
1041
                <source>Phil Haack</source>
966
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
1042
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
1043
                </sourcelink>
967
                <id>127</id>
1044
                <id>127</id>
968
        </test>
1045
        </test>
969
        <test>
1046
        <test>
970
                <address>_Yosemite.Sam@example.com</address>
1047
                <address>_Yosemite.Sam@example.com</address>
971
                <valid>true</valid>
1048
                <valid>true</valid>
972
                <source>Phil Haack</source>
1049
                <source>Phil Haack</source>
973
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
1050
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
1051
                </sourcelink>
974
                <id>128</id>
1052
                <id>128</id>
975
        </test>
1053
        </test>
976
        <test>
1054
        <test>
977
                <address>~@example.com</address>
1055
                <address>~@example.com</address>
978
                <valid>true</valid>
1056
                <valid>true</valid>
979
                <source>Phil Haack</source>
1057
                <source>Phil Haack</source>
980
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
1058
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
1059
                </sourcelink>
981
                <id>129</id>
1060
                <id>129</id>
982
        </test>
1061
        </test>
983
        <test>
1062
        <test>
984
                <address>.wooly@example.com</address>
1063
                <address>.wooly@example.com</address>
985
                <valid>false</valid>
1064
                <valid>false</valid>
986
                <comment>Phil Haack says so</comment>
1065
                <comment>Phil Haack says so</comment>
987
                <source>Phil Haack</source>
1066
                <source>Phil Haack</source>
988
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
1067
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
1068
                </sourcelink>
989
                <id>130</id>
1069
                <id>130</id>
990
        </test>
1070
        </test>
991
        <test>
1071
        <test>
992
                <address>wo..oly@example.com</address>
1072
                <address>wo..oly@example.com</address>
993
                <valid>false</valid>
1073
                <valid>false</valid>
994
                <comment>Phil Haack says so</comment>
1074
                <comment>Phil Haack says so</comment>
995
                <source>Phil Haack</source>
1075
                <source>Phil Haack</source>
996
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
1076
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
1077
                </sourcelink>
997
                <id>131</id>
1078
                <id>131</id>
998
        </test>
1079
        </test>
999
        <test>
1080
        <test>
1000
                <address>pootietang.@example.com</address>
1081
                <address>pootietang.@example.com</address>
1001
                <valid>false</valid>
1082
                <valid>false</valid>
1002
                <comment>Phil Haack says so</comment>
1083
                <comment>Phil Haack says so</comment>
1003
                <source>Phil Haack</source>
1084
                <source>Phil Haack</source>
1004
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
1085
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
1086
                </sourcelink>
1005
                <id>132</id>
1087
                <id>132</id>
1006
        </test>
1088
        </test>
1007
        <test>
1089
        <test>
1008
                <address>.@example.com</address>
1090
                <address>.@example.com</address>
1009
                <valid>false</valid>
1091
                <valid>false</valid>
1010
                <comment>Phil Haack says so</comment>
1092
                <comment>Phil Haack says so</comment>
1011
                <source>Phil Haack</source>
1093
                <source>Phil Haack</source>
1012
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
1094
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
1095
                </sourcelink>
1013
                <id>133</id>
1096
                <id>133</id>
1014
        </test>
1097
        </test>
1015
        <test>
1098
        <test>
1016
                <address>"Austin@Powers"@example.com</address>
1099
                <address>"Austin@Powers"@example.com</address>
1017
                <valid>true</valid>
1100
                <valid>true</valid>
1018
                <source>Phil Haack</source>
1101
                <source>Phil Haack</source>
1019
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
1102
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
1103
                </sourcelink>
1020
                <id>134</id>
1104
                <id>134</id>
1021
        </test>
1105
        </test>
1022
        <test>
1106
        <test>
1023
                <address>Ima.Fool@example.com</address>
1107
                <address>Ima.Fool@example.com</address>
1024
                <valid>true</valid>
1108
                <valid>true</valid>
1025
                <source>Phil Haack</source>
1109
                <source>Phil Haack</source>
1026
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
1110
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
1111
                </sourcelink>
1027
                <id>135</id>
1112
                <id>135</id>
1028
        </test>
1113
        </test>
1029
        <test>
1114
        <test>
1030
                <address>"Ima.Fool"@example.com</address>
1115
                <address>"Ima.Fool"@example.com</address>
1031
                <valid>true</valid>
1116
                <valid>true</valid>
1032
                <source>Phil Haack</source>
1117
                <source>Phil Haack</source>
1033
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
1118
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
1119
                </sourcelink>
1034
                <id>136</id>
1120
                <id>136</id>
1035
        </test>
1121
        </test>
1036
        <test>
1122
        <test>
1037
                <address>"Ima Fool"@example.com</address>
1123
                <address>"Ima Fool"@example.com</address>
1038
                <valid>true</valid>
1124
                <valid>true</valid>
1039
                <source>Phil Haack</source>
1125
                <source>Phil Haack</source>
1040
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
1126
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
1127
                </sourcelink>
1041
                <id>137</id>
1128
                <id>137</id>
1042
        </test>
1129
        </test>
1043
        <test>
1130
        <test>
1044
                <address>Ima Fool@example.com</address>
1131
                <address>Ima Fool@example.com</address>
1045
                <valid>false</valid>
1132
                <valid>false</valid>
1046
                <comment>Phil Haack says so</comment>
1133
                <comment>Phil Haack says so</comment>
1047
                <source>Phil Haack</source>
1134
                <source>Phil Haack</source>
1048
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
1135
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
1136
                </sourcelink>
1049
                <id>138</id>
1137
                <id>138</id>
1050
        </test>
1138
        </test>
1051
        <test>
1139
        <test>
1052
                <address>phil.h\@\@ck@haacked.com</address>
1140
                <address>phil.h\@\@ck@haacked.com</address>
1053
                <valid>false</valid>
1141
                <valid>false</valid>
1054
                <comment>Escaping can only happen in a quoted string</comment>
1142
                <comment>Escaping can only happen in a quoted string</comment>
1055
                <source>Phil Haack</source>
1143
                <source>Phil Haack</source>
1056
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
1144
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
1145
                </sourcelink>
1057
                <id>139</id>
1146
                <id>139</id>
1058
        </test>
1147
        </test>
1059
        <test>
1148
        <test>
1060
                <address>"first"."last"@example.com</address>
1149
                <address>"first"."last"@example.com</address>
1061
                <valid>true</valid>
1150
                <valid>true</valid>
Line 1127... Line 1216...
1127
                <id>148</id>
1216
                <id>148</id>
1128
        </test>
1217
        </test>
1129
        <test>
1218
        <test>
1130
                <address>foo@[\1.2.3.4]</address>
1219
                <address>foo@[\1.2.3.4]</address>
1131
                <valid>false</valid>
1220
                <valid>false</valid>
1132
                <comment>RFC 5321 specifies the syntax for address-literal and does not allow escaping</comment>
1221
                <comment>RFC 5321 specifies the syntax for address-literal and does
-
 
1222
                        not allow escaping</comment>
1133
                <source>Cal Henderson</source>
1223
                <source>Cal Henderson</source>
1134
                <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink>
1224
                <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink>
1135
                <id>149</id>
1225
                <id>149</id>
1136
        </test>
1226
        </test>
1137
        <test>
1227
        <test>
Line 1142... Line 1232...
1142
                <id>150</id>
1232
                <id>150</id>
1143
        </test>
1233
        </test>
1144
        <test>
1234
        <test>
1145
                <address>first."mid\dle"."last"@example.com</address>
1235
                <address>first."mid\dle"."last"@example.com</address>
1146
                <valid>true</valid>
1236
                <valid>true</valid>
1147
                <comment>Backslash can escape anything but must escape something</comment>
1237
                <comment>Backslash can escape anything but must escape something
-
 
1238
                </comment>
1148
                <source>Dominic Sayers</source>
1239
                <source>Dominic Sayers</source>
1149
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1240
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1150
                <id>151</id>
1241
                <id>151</id>
1151
        </test>
1242
        </test>
1152
        <test>
1243
        <test>
1153
                <address>Test.&#13;&#10; Folding.&#13;&#10; Whitespace@example.com</address>
1244
                <address>Test.&#13;&#10; Folding.&#13;&#10; Whitespace@example.com
-
 
1245
                </address>
1154
                <valid>true</valid>
1246
                <valid>true</valid>
1155
                <source>Dominic Sayers</source>
1247
                <source>Dominic Sayers</source>
1156
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1248
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1157
                <id>152</id>
1249
                <id>152</id>
1158
        </test>
1250
        </test>
Line 1173... Line 1265...
1173
                <id>154</id>
1265
                <id>154</id>
1174
        </test>
1266
        </test>
1175
        <test>
1267
        <test>
1176
                <address>Abc\@def@example.com</address>
1268
                <address>Abc\@def@example.com</address>
1177
                <valid>false</valid>
1269
                <valid>false</valid>
1178
                <comment>Was incorrectly given as a valid address in the original RFC 3696</comment>
1270
                <comment>Was incorrectly given as a valid address in the original RFC
-
 
1271
                        3696</comment>
1179
                <source>RFC 3696 erratum 246</source>
1272
                <source>RFC 3696 erratum 246</source>
1180
                <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246</sourcelink>
1273
                <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246
-
 
1274
                </sourcelink>
1181
                <id>155</id>
1275
                <id>155</id>
1182
        </test>
1276
        </test>
1183
        <test>
1277
        <test>
1184
                <address>Fred\ Bloggs@example.com</address>
1278
                <address>Fred\ Bloggs@example.com</address>
1185
                <valid>false</valid>
1279
                <valid>false</valid>
1186
                <comment>Was incorrectly given as a valid address in the original RFC 3696</comment>
1280
                <comment>Was incorrectly given as a valid address in the original RFC
-
 
1281
                        3696</comment>
1187
                <source>RFC 3696 erratum 246</source>
1282
                <source>RFC 3696 erratum 246</source>
1188
                <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246</sourcelink>
1283
                <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246
-
 
1284
                </sourcelink>
1189
                <id>156</id>
1285
                <id>156</id>
1190
        </test>
1286
        </test>
1191
        <test>
1287
        <test>
1192
                <address>Joe.\\Blow@example.com</address>
1288
                <address>Joe.\\Blow@example.com</address>
1193
                <valid>false</valid>
1289
                <valid>false</valid>
1194
                <comment>Was incorrectly given as a valid address in the original RFC 3696</comment>
1290
                <comment>Was incorrectly given as a valid address in the original RFC
-
 
1291
                        3696</comment>
1195
                <source>RFC 3696 erratum 246</source>
1292
                <source>RFC 3696 erratum 246</source>
1196
                <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246</sourcelink>
1293
                <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&amp;eid=246
-
 
1294
                </sourcelink>
1197
                <id>157</id>
1295
                <id>157</id>
1198
        </test>
1296
        </test>
1199
        <test>
1297
        <test>
1200
                <address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:12.34.567.89]</address>
1298
                <address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:12.34.567.89]
-
 
1299
                </address>
1201
                <valid>false</valid>
1300
                <valid>false</valid>
1202
                <comment>IPv4 part contains an invalid octet</comment>
1301
                <comment>IPv4 part contains an invalid octet</comment>
1203
                <source>Cal Henderson</source>
1302
                <source>Cal Henderson</source>
1204
                <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink>
1303
                <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink>
1205
                <id>158</id>
1304
                <id>158</id>
1206
        </test>
1305
        </test>
1207
        <test>
1306
        <test>
1208
                <address>"test\&#13;&#10; blah"@example.com</address>
1307
                <address>"test\&#13;&#10; blah"@example.com</address>
1209
                <valid>false</valid>
1308
                <valid>false</valid>
1210
                <comment>Folding white space can't appear within a quoted pair</comment>
1309
                <comment>Folding white space can't appear within a quoted pair
-
 
1310
                </comment>
1211
                <source>Cal Henderson</source>
1311
                <source>Cal Henderson</source>
1212
                <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink>
1312
                <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink>
1213
                <id>159</id>
1313
                <id>159</id>
1214
        </test>
1314
        </test>
1215
        <test>
1315
        <test>
1216
                <address>"test&#13;&#10; blah"@example.com</address>
1316
                <address>"test&#13;&#10; blah"@example.com</address>
1217
                <valid>true</valid>
1317
                <valid>true</valid>
1218
                <comment>This is a valid quoted string with folding white space</comment>
1318
                <comment>This is a valid quoted string with folding white space
-
 
1319
                </comment>
1219
                <source>Phil Haack</source>
1320
                <source>Phil Haack</source>
1220
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx</sourcelink>
1321
                <sourcelink>http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx
-
 
1322
                </sourcelink>
1221
                <id>160</id>
1323
                <id>160</id>
1222
        </test>
1324
        </test>
1223
        <test>
1325
        <test>
1224
                <address>{^c\@**Dog^}@cartoon.com</address>
1326
                <address>{^c\@**Dog^}@cartoon.com</address>
1225
                <valid>false</valid>
1327
                <valid>false</valid>
1226
                <comment>This is a throwaway example from Doug Lovell's article. Actually it's not a valid address.</comment>
1328
                <comment>This is a throwaway example from Doug Lovell's article.
-
 
1329
                        Actually it's not a valid address.</comment>
1227
                <source>Doug Lovell (LinuxJournal, June 2007)</source>
1330
                <source>Doug Lovell (LinuxJournal, June 2007)</source>
1228
                <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink>
1331
                <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink>
1229
                <id>161</id>
1332
                <id>161</id>
1230
        </test>
1333
        </test>
1231
        <test>
1334
        <test>
Line 1269... Line 1372...
1269
                <id>166</id>
1372
                <id>166</id>
1270
        </test>
1373
        </test>
1271
        <test>
1374
        <test>
1272
                <address>cal(foo\)bar)@iamcal.com</address>
1375
                <address>cal(foo\)bar)@iamcal.com</address>
1273
                <valid>true</valid>
1376
                <valid>true</valid>
1274
                <comment>A valid address containing comments and an escaped parenthesis</comment>
1377
                <comment>A valid address containing comments and an escaped
-
 
1378
                        parenthesis</comment>
1275
                <source>Cal Henderson</source>
1379
                <source>Cal Henderson</source>
1276
                <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink>
1380
                <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink>
1277
                <id>167</id>
1381
                <id>167</id>
1278
        </test>
1382
        </test>
1279
        <test>
1383
        <test>
Line 1307... Line 1411...
1307
                <source>Dominic Sayers</source>
1411
                <source>Dominic Sayers</source>
1308
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1412
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1309
                <id>171</id>
1413
                <id>171</id>
1310
        </test>
1414
        </test>
1311
        <test>
1415
        <test>
1312
                <address>first.(&#13;&#10; middle&#13;&#10; )last@example.com</address>
1416
                <address>first.(&#13;&#10; middle&#13;&#10; )last@example.com
-
 
1417
                </address>
1313
                <valid>true</valid>
1418
                <valid>true</valid>
1314
                <comment>Comment with folding white space</comment>
1419
                <comment>Comment with folding white space</comment>
1315
                <source>Dominic Sayers</source>
1420
                <source>Dominic Sayers</source>
1316
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1421
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1317
                <id>172</id>
1422
                <id>172</id>
1318
        </test>
1423
        </test>
1319
        <test>
1424
        <test>
1320
                <address>first(12345678901234567890123456789012345678901234567890)last@(1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890)example.com</address>
1425
                <address>first(12345678901234567890123456789012345678901234567890)last@(1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890)example.com
-
 
1426
                </address>
1321
                <valid>false</valid>
1427
                <valid>false</valid>
1322
                <comment>Too long with comments, not too long without</comment>
1428
                <comment>Too long with comments, not too long without</comment>
1323
                <source>Dominic Sayers</source>
1429
                <source>Dominic Sayers</source>
1324
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1430
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1325
                <id>173</id>
1431
                <id>173</id>
1326
        </test>
1432
        </test>
1327
        <test>
1433
        <test>
1328
                <address>first(Welcome to&#13;&#10; the ("wonderful" (!)) world&#13;&#10; of email)@example.com</address>
1434
                <address>first(Welcome to&#13;&#10; the ("wonderful" (!))
-
 
1435
                        world&#13;&#10; of email)@example.com</address>
1329
                <valid>true</valid>
1436
                <valid>true</valid>
1330
                <comment>Silly example from my blog post</comment>
1437
                <comment>Silly example from my blog post</comment>
1331
                <source>Dominic Sayers</source>
1438
                <source>Dominic Sayers</source>
1332
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1439
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1333
                <id>174</id>
1440
                <id>174</id>
Line 1365... Line 1472...
1365
                <id>178</id>
1472
                <id>178</id>
1366
        </test>
1473
        </test>
1367
        <test>
1474
        <test>
1368
                <address>first(middle)last@example.com</address>
1475
                <address>first(middle)last@example.com</address>
1369
                <valid>false</valid>
1476
                <valid>false</valid>
1370
                <comment>Can't have a comment or white space except at an element boundary</comment>
1477
                <comment>Can't have a comment or white space except at an element
-
 
1478
                        boundary</comment>
1371
                <source>Dominic Sayers</source>
1479
                <source>Dominic Sayers</source>
1372
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1480
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1373
                <id>179</id>
1481
                <id>179</id>
1374
        </test>
1482
        </test>
1375
        <test>
1483
        <test>
Line 1395... Line 1503...
1395
                <source>Dominic Sayers</source>
1503
                <source>Dominic Sayers</source>
1396
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1504
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1397
                <id>182</id>
1505
                <id>182</id>
1398
        </test>
1506
        </test>
1399
        <test>
1507
        <test>
1400
                <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>
1508
                <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)
-
 
1509
                </address>
1401
                <valid>false</valid>
1510
                <valid>false</valid>
1402
                <comment>Can't have comments or white space except at an element boundary</comment>
1511
                <comment>Can't have comments or white space except at an element
-
 
1512
                        boundary</comment>
1403
                <source>Dominic Sayers</source>
1513
                <source>Dominic Sayers</source>
1404
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1514
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1405
                <id>183</id>
1515
                <id>183</id>
1406
        </test>
1516
        </test>
1407
        <test>
1517
        <test>
Line 1411... Line 1521...
1411
                <source>Dominic Sayers</source>
1521
                <source>Dominic Sayers</source>
1412
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1522
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1413
                <id>184</id>
1523
                <id>184</id>
1414
        </test>
1524
        </test>
1415
        <test>
1525
        <test>
1416
                <address>first.last@x(1234567890123456789012345678901234567890123456789012345678901234567890).com</address>
1526
                <address>first.last@x(1234567890123456789012345678901234567890123456789012345678901234567890).com
-
 
1527
                </address>
1417
                <valid>true</valid>
1528
                <valid>true</valid>
1418
                <comment>Label is longer than 63 octets, but not with comment removed</comment>
1529
                <comment>Label is longer than 63 octets, but not with comment removed
-
 
1530
                </comment>
1419
                <source>Cal Henderson</source>
1531
                <source>Cal Henderson</source>
1420
                <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink>
1532
                <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink>
1421
                <id>185</id>
1533
                <id>185</id>
1422
        </test>
1534
        </test>
1423
        <test>
1535
        <test>
Line 1437... Line 1549...
1437
        </test>
1549
        </test>
1438
        <test>
1550
        <test>
1439
                <address>name.lastname@domain.com</address>
1551
                <address>name.lastname@domain.com</address>
1440
                <valid>true</valid>
1552
                <valid>true</valid>
1441
                <source>Paul Gregg</source>
1553
                <source>Paul Gregg</source>
1442
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1554
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1555
                </sourcelink>
1443
                <id>188</id>
1556
                <id>188</id>
1444
        </test>
1557
        </test>
1445
        <test>
1558
        <test>
1446
                <address>.@</address>
1559
                <address>.@</address>
1447
                <valid>false</valid>
1560
                <valid>false</valid>
1448
                <source>Paul Gregg</source>
1561
                <source>Paul Gregg</source>
1449
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1562
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1563
                </sourcelink>
1450
                <id>189</id>
1564
                <id>189</id>
1451
        </test>
1565
        </test>
1452
        <test>
1566
        <test>
1453
                <address>a@b</address>
1567
                <address>a@b</address>
1454
                <valid>false</valid>
1568
                <valid>false</valid>
1455
                <source>Paul Gregg</source>
1569
                <source>Paul Gregg</source>
1456
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1570
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1571
                </sourcelink>
1457
                <id>190</id>
1572
                <id>190</id>
1458
        </test>
1573
        </test>
1459
        <test>
1574
        <test>
1460
                <address>@bar.com</address>
1575
                <address>@bar.com</address>
1461
                <valid>false</valid>
1576
                <valid>false</valid>
1462
                <source>Paul Gregg</source>
1577
                <source>Paul Gregg</source>
1463
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1578
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1579
                </sourcelink>
1464
                <id>191</id>
1580
                <id>191</id>
1465
        </test>
1581
        </test>
1466
        <test>
1582
        <test>
1467
                <address>@@bar.com</address>
1583
                <address>@@bar.com</address>
1468
                <valid>false</valid>
1584
                <valid>false</valid>
1469
                <source>Paul Gregg</source>
1585
                <source>Paul Gregg</source>
1470
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1586
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1587
                </sourcelink>
1471
                <id>192</id>
1588
                <id>192</id>
1472
        </test>
1589
        </test>
1473
        <test>
1590
        <test>
1474
                <address>a@bar.com</address>
1591
                <address>a@bar.com</address>
1475
                <valid>true</valid>
1592
                <valid>true</valid>
1476
                <source>Paul Gregg</source>
1593
                <source>Paul Gregg</source>
1477
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1594
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1595
                </sourcelink>
1478
                <id>193</id>
1596
                <id>193</id>
1479
        </test>
1597
        </test>
1480
        <test>
1598
        <test>
1481
                <address>aaa.com</address>
1599
                <address>aaa.com</address>
1482
                <valid>false</valid>
1600
                <valid>false</valid>
1483
                <source>Paul Gregg</source>
1601
                <source>Paul Gregg</source>
1484
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1602
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1603
                </sourcelink>
1485
                <id>194</id>
1604
                <id>194</id>
1486
        </test>
1605
        </test>
1487
        <test>
1606
        <test>
1488
                <address>aaa@.com</address>
1607
                <address>aaa@.com</address>
1489
                <valid>false</valid>
1608
                <valid>false</valid>
1490
                <source>Paul Gregg</source>
1609
                <source>Paul Gregg</source>
1491
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1610
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1611
                </sourcelink>
1492
                <id>195</id>
1612
                <id>195</id>
1493
        </test>
1613
        </test>
1494
        <test>
1614
        <test>
1495
                <address>aaa@.123</address>
1615
                <address>aaa@.123</address>
1496
                <valid>false</valid>
1616
                <valid>false</valid>
1497
                <source>Paul Gregg</source>
1617
                <source>Paul Gregg</source>
1498
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1618
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1619
                </sourcelink>
1499
                <id>196</id>
1620
                <id>196</id>
1500
        </test>
1621
        </test>
1501
        <test>
1622
        <test>
1502
                <address>aaa@[123.123.123.123]</address>
1623
                <address>aaa@[123.123.123.123]</address>
1503
                <valid>true</valid>
1624
                <valid>true</valid>
1504
                <source>Paul Gregg</source>
1625
                <source>Paul Gregg</source>
1505
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1626
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1627
                </sourcelink>
1506
                <id>197</id>
1628
                <id>197</id>
1507
        </test>
1629
        </test>
1508
        <test>
1630
        <test>
1509
                <address>aaa@[123.123.123.123]a</address>
1631
                <address>aaa@[123.123.123.123]a</address>
1510
                <valid>false</valid>
1632
                <valid>false</valid>
1511
                <comment>extra data outside ip</comment>
1633
                <comment>extra data outside ip</comment>
1512
                <source>Paul Gregg</source>
1634
                <source>Paul Gregg</source>
1513
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1635
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1636
                </sourcelink>
1514
                <id>198</id>
1637
                <id>198</id>
1515
        </test>
1638
        </test>
1516
        <test>
1639
        <test>
1517
                <address>aaa@[123.123.123.333]</address>
1640
                <address>aaa@[123.123.123.333]</address>
1518
                <valid>false</valid>
1641
                <valid>false</valid>
1519
                <comment>not a valid IP</comment>
1642
                <comment>not a valid IP</comment>
1520
                <source>Paul Gregg</source>
1643
                <source>Paul Gregg</source>
1521
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1644
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1645
                </sourcelink>
1522
                <id>199</id>
1646
                <id>199</id>
1523
        </test>
1647
        </test>
1524
        <test>
1648
        <test>
1525
                <address>a@bar.com.</address>
1649
                <address>a@bar.com.</address>
1526
                <valid>false</valid>
1650
                <valid>false</valid>
1527
                <source>Paul Gregg</source>
1651
                <source>Paul Gregg</source>
1528
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1652
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1653
                </sourcelink>
1529
                <id>200</id>
1654
                <id>200</id>
1530
        </test>
1655
        </test>
1531
        <test>
1656
        <test>
1532
                <address>a@bar</address>
1657
                <address>a@bar</address>
1533
                <valid>false</valid>
1658
                <valid>false</valid>
1534
                <source>Paul Gregg</source>
1659
                <source>Paul Gregg</source>
1535
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1660
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1661
                </sourcelink>
1536
                <id>201</id>
1662
                <id>201</id>
1537
        </test>
1663
        </test>
1538
        <test>
1664
        <test>
1539
                <address>a-b@bar.com</address>
1665
                <address>a-b@bar.com</address>
1540
                <valid>true</valid>
1666
                <valid>true</valid>
1541
                <source>Paul Gregg</source>
1667
                <source>Paul Gregg</source>
1542
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1668
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1669
                </sourcelink>
1543
                <id>202</id>
1670
                <id>202</id>
1544
        </test>
1671
        </test>
1545
        <test>
1672
        <test>
1546
                <address>+@b.c</address>
1673
                <address>+@b.c</address>
1547
                <valid>true</valid>
1674
                <valid>true</valid>
1548
                <comment>TLDs can be any length</comment>
1675
                <comment>TLDs can be any length</comment>
1549
                <source>Paul Gregg</source>
1676
                <source>Paul Gregg</source>
1550
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1677
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1678
                </sourcelink>
1551
                <id>203</id>
1679
                <id>203</id>
1552
        </test>
1680
        </test>
1553
        <test>
1681
        <test>
1554
                <address>+@b.com</address>
1682
                <address>+@b.com</address>
1555
                <valid>true</valid>
1683
                <valid>true</valid>
1556
                <source>Paul Gregg</source>
1684
                <source>Paul Gregg</source>
1557
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1685
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1686
                </sourcelink>
1558
                <id>204</id>
1687
                <id>204</id>
1559
        </test>
1688
        </test>
1560
        <test>
1689
        <test>
1561
                <address>a@-b.com</address>
1690
                <address>a@-b.com</address>
1562
                <valid>false</valid>
1691
                <valid>false</valid>
1563
                <source>Paul Gregg</source>
1692
                <source>Paul Gregg</source>
1564
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1693
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1694
                </sourcelink>
1565
                <id>205</id>
1695
                <id>205</id>
1566
        </test>
1696
        </test>
1567
        <test>
1697
        <test>
1568
                <address>a@b-.com</address>
1698
                <address>a@b-.com</address>
1569
                <valid>false</valid>
1699
                <valid>false</valid>
1570
                <source>Paul Gregg</source>
1700
                <source>Paul Gregg</source>
1571
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1701
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1702
                </sourcelink>
1572
                <id>206</id>
1703
                <id>206</id>
1573
        </test>
1704
        </test>
1574
        <test>
1705
        <test>
1575
                <address>-@..com</address>
1706
                <address>-@..com</address>
1576
                <valid>false</valid>
1707
                <valid>false</valid>
1577
                <source>Paul Gregg</source>
1708
                <source>Paul Gregg</source>
1578
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1709
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1710
                </sourcelink>
1579
                <id>207</id>
1711
                <id>207</id>
1580
        </test>
1712
        </test>
1581
        <test>
1713
        <test>
1582
                <address>-@a..com</address>
1714
                <address>-@a..com</address>
1583
                <valid>false</valid>
1715
                <valid>false</valid>
1584
                <source>Paul Gregg</source>
1716
                <source>Paul Gregg</source>
1585
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1717
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1718
                </sourcelink>
1586
                <id>208</id>
1719
                <id>208</id>
1587
        </test>
1720
        </test>
1588
        <test>
1721
        <test>
1589
                <address>a@b.co-foo.uk</address>
1722
                <address>a@b.co-foo.uk</address>
1590
                <valid>true</valid>
1723
                <valid>true</valid>
1591
                <source>Paul Gregg</source>
1724
                <source>Paul Gregg</source>
1592
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1725
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1726
                </sourcelink>
1593
                <id>209</id>
1727
                <id>209</id>
1594
        </test>
1728
        </test>
1595
        <test>
1729
        <test>
1596
                <address>"hello my name is"@stutter.com</address>
1730
                <address>"hello my name is"@stutter.com</address>
1597
                <valid>true</valid>
1731
                <valid>true</valid>
1598
                <source>Paul Gregg</source>
1732
                <source>Paul Gregg</source>
1599
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1733
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1734
                </sourcelink>
1600
                <id>210</id>
1735
                <id>210</id>
1601
        </test>
1736
        </test>
1602
        <test>
1737
        <test>
1603
                <address>"Test \"Fail\" Ing"@example.com</address>
1738
                <address>"Test \"Fail\" Ing"@example.com</address>
1604
                <valid>true</valid>
1739
                <valid>true</valid>
1605
                <source>Paul Gregg</source>
1740
                <source>Paul Gregg</source>
1606
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1741
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1742
                </sourcelink>
1607
                <id>211</id>
1743
                <id>211</id>
1608
        </test>
1744
        </test>
1609
        <test>
1745
        <test>
1610
                <address>valid@special.museum</address>
1746
                <address>valid@special.museum</address>
1611
                <valid>true</valid>
1747
                <valid>true</valid>
1612
                <source>Paul Gregg</source>
1748
                <source>Paul Gregg</source>
1613
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1749
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1750
                </sourcelink>
1614
                <id>212</id>
1751
                <id>212</id>
1615
        </test>
1752
        </test>
1616
        <test>
1753
        <test>
1617
                <address>invalid@special.museum-</address>
1754
                <address>invalid@special.museum-</address>
1618
                <valid>false</valid>
1755
                <valid>false</valid>
1619
                <source>Paul Gregg</source>
1756
                <source>Paul Gregg</source>
1620
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1757
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1758
                </sourcelink>
1621
                <id>213</id>
1759
                <id>213</id>
1622
        </test>
1760
        </test>
1623
        <test>
1761
        <test>
1624
                <address>shaitan@my-domain.thisisminekthx</address>
1762
                <address>shaitan@my-domain.thisisminekthx</address>
1625
                <valid>true</valid>
1763
                <valid>true</valid>
1626
                <comment>Disagree with Paul Gregg here</comment>
1764
                <comment>Disagree with Paul Gregg here</comment>
1627
                <source>Paul Gregg</source>
1765
                <source>Paul Gregg</source>
1628
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1766
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1767
                </sourcelink>
1629
                <id>214</id>
1768
                <id>214</id>
1630
        </test>
1769
        </test>
1631
        <test>
1770
        <test>
1632
                <address>test@...........com</address>
1771
                <address>test@...........com</address>
1633
                <valid>false</valid>
1772
                <valid>false</valid>
1634
                <comment>......</comment>
1773
                <comment>......</comment>
1635
                <source>Paul Gregg</source>
1774
                <source>Paul Gregg</source>
1636
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1775
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1776
                </sourcelink>
1637
                <id>215</id>
1777
                <id>215</id>
1638
        </test>
1778
        </test>
1639
        <test>
1779
        <test>
1640
                <address>foobar@192.168.0.1</address>
1780
                <address>foobar@192.168.0.1</address>
1641
                <valid>false</valid>
1781
                <valid>false</valid>
1642
                <comment>ip need to be []</comment>
1782
                <comment>ip need to be []</comment>
1643
                <source>Paul Gregg</source>
1783
                <source>Paul Gregg</source>
1644
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1784
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1785
                </sourcelink>
1645
                <id>216</id>
1786
                <id>216</id>
1646
        </test>
1787
        </test>
1647
        <test>
1788
        <test>
1648
                <address>"Joe\\Blow"@example.com</address>
1789
                <address>"Joe\\Blow"@example.com</address>
1649
                <valid>true</valid>
1790
                <valid>true</valid>
1650
                <source>Paul Gregg</source>
1791
                <source>Paul Gregg</source>
1651
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1792
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1793
                </sourcelink>
1652
                <id>217</id>
1794
                <id>217</id>
1653
        </test>
1795
        </test>
1654
        <test>
1796
        <test>
1655
                <address>Invalid \&#10; Folding \&#10; Whitespace@example.com</address>
1797
                <address>Invalid \&#10; Folding \&#10; Whitespace@example.com
-
 
1798
                </address>
1656
                <valid>false</valid>
1799
                <valid>false</valid>
1657
                <source>Paul Gregg</source>
1800
                <source>Paul Gregg</source>
1658
                <comment>This isn't FWS so Dominic Sayers says it's invalid</comment>
1801
                <comment>This isn't FWS so Dominic Sayers says it's invalid</comment>
1659
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1802
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1803
                </sourcelink>
1660
                <id>218</id>
1804
                <id>218</id>
1661
        </test>
1805
        </test>
1662
        <test>
1806
        <test>
1663
                <address>HM2Kinsists@(that comments are allowed)this.is.ok</address>
1807
                <address>HM2Kinsists@(that comments are allowed)this.is.ok</address>
1664
                <valid>true</valid>
1808
                <valid>true</valid>
1665
                <source>Paul Gregg</source>
1809
                <source>Paul Gregg</source>
1666
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1810
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1811
                </sourcelink>
1667
                <id>219</id>
1812
                <id>219</id>
1668
        </test>
1813
        </test>
1669
        <test>
1814
        <test>
1670
                <address>user%uucp!path@somehost.edu</address>
1815
                <address>user%uucp!path@somehost.edu</address>
1671
                <valid>true</valid>
1816
                <valid>true</valid>
1672
                <source>Paul Gregg</source>
1817
                <source>Paul Gregg</source>
1673
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink>
1818
                <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php
-
 
1819
                </sourcelink>
1674
                <id>220</id>
1820
                <id>220</id>
1675
        </test>
1821
        </test>
1676
        <test>
1822
        <test>
1677
                <address>"first(last)"@example.com</address>
1823
                <address>"first(last)"@example.com</address>
1678
                <valid>true</valid>
1824
                <valid>true</valid>
1679
                <source>Dominic Sayers</source>
1825
                <source>Dominic Sayers</source>
1680
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1826
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1681
                <id>221</id>
1827
                <id>221</id>
1682
        </test>
1828
        </test>
1683
        <test>
1829
        <test>
-
 
1830
                <address> &#13;&#10; (&#13;&#10; x &#13;&#10; ) &#13;&#10;
-
 
1831
                        first&#13;&#10; ( &#13;&#10; x&#13;&#10; ) &#13;&#10; .&#13;&#10; (
1684
                <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>
1832
                        &#13;&#10; x) &#13;&#10; last &#13;&#10; ( x &#13;&#10; ) &#13;&#10;
-
 
1833
                        @example.com</address>
1685
                <valid>true</valid>
1834
                <valid>true</valid>
1686
                <source>Dominic Sayers</source>
1835
                <source>Dominic Sayers</source>
1687
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1836
                <sourcelink>http://www.dominicsayers.com/isemail</sourcelink>
1688
                <id>222</id>
1837
                <id>222</id>
1689
        </test>
1838
        </test>
1690
        <test>
1839
        <test>
1691
                <address>test. &#13;&#10; &#13;&#10; obs@syntax.com</address>
1840
                <address>test. &#13;&#10; &#13;&#10; obs@syntax.com</address>
1692
                <valid>true</valid>
1841
                <valid>true</valid>
1693
                <comment>obs-fws allows multiple lines</comment>
1842
                <comment>obs-fws allows multiple lines</comment>
1694
                <source>George Pollard</source>
1843
                <source>George Pollard</source>
1695
                <sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink>
1844
                <sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses
-
 
1845
                </sourcelink>
1696
                <id>223</id>
1846
                <id>223</id>
1697
        </test>
1847
        </test>
1698
        <test>
1848
        <test>
1699
                <address>test. &#13;&#10; &#13;&#10; obs@syntax.com</address>
1849
                <address>test. &#13;&#10; &#13;&#10; obs@syntax.com</address>
1700
                <valid>true</valid>
1850
                <valid>true</valid>
1701
                <comment>obs-fws allows multiple lines (test 2: space before break)</comment>
1851
                <comment>obs-fws allows multiple lines (test 2: space before break)
-
 
1852
                </comment>
1702
                <source>George Pollard</source>
1853
                <source>George Pollard</source>
1703
                <sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink>
1854
                <sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses
-
 
1855
                </sourcelink>
1704
                <id>224</id>
1856
                <id>224</id>
1705
        </test>
1857
        </test>
1706
        <test>
1858
        <test>
1707
                <address>test.&#13;&#10;&#13;&#10; obs@syntax.com</address>
1859
                <address>test.&#13;&#10;&#13;&#10; obs@syntax.com</address>
1708
                <valid>false</valid>
1860
                <valid>false</valid>
1709
                <comment>obs-fws must have at least one WSP per line</comment>
1861
                <comment>obs-fws must have at least one WSP per line</comment>
1710
                <source>George Pollard</source>
1862
                <source>George Pollard</source>
1711
                <sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink>
1863
                <sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses
-
 
1864
                </sourcelink>
1712
                <id>225</id>
1865
                <id>225</id>
1713
        </test>
1866
        </test>
1714
        <test>
1867
        <test>
1715
                <address>"null \\0"@char.com</address>
1868
                <address>"null \\0"@char.com</address>
1716
                <valid>true</valid>
1869
                <valid>true</valid>
1717
                <comment>can have escaped null character</comment>
1870
                <comment>can have escaped null character</comment>
1718
                <source>George Pollard</source>
1871
                <source>George Pollard</source>
1719
                <sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink>
1872
                <sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses
-
 
1873
                </sourcelink>
1720
                <id>226</id>
1874
                <id>226</id>
1721
        </test>
1875
        </test>
1722
        <test>
1876
        <test>
1723
                <address>"null \0"@char.com</address>
1877
                <address>"null \0"@char.com</address>
1724
                <valid>false</valid>
1878
                <valid>false</valid>
1725
                <comment>cannot have unescaped null character</comment>
1879
                <comment>cannot have unescaped null character</comment>
1726
                <source>George Pollard</source>
1880
                <source>George Pollard</source>
1727
                <sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink>
1881
                <sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses
-
 
1882
                </sourcelink>
1728
                <id>227</id>
1883
                <id>227</id>
1729
        </test>
1884
        </test>
1730
        <test>
1885
        <test>
1731
                <address>null\\0@char.com</address>
1886
                <address>null\\0@char.com</address>
1732
                <valid>false</valid>
1887
                <valid>false</valid>
1733
                <comment>escaped null must be in quoted string</comment>
1888
                <comment>escaped null must be in quoted string</comment>
1734
                <source>George Pollard</source>
1889
                <source>George Pollard</source>
1735
                <sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink>
1890
                <sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses
-
 
1891
                </sourcelink>
1736
                <id>228</id>
1892
                <id>228</id>
1737
        </test>
1893
        </test>
1738
        <test>
1894
        <test>
1739
                <address>cdburgess+!#$%&amp;'*-/=?+_{}|~test@gmail.com</address>
1895
                <address>cdburgess+!#$%&amp;'*-/=?+_{}|~test@gmail.com</address>
1740
                <valid>true</valid>
1896
                <valid>true</valid>
1741
                <comment>Example given in comments</comment>
1897
                <comment>Example given in comments</comment>
1742
                <source>http://www.dominicsayers.com/isemail/#comment-30024957</source>
1898
                <source>http://www.dominicsayers.com/isemail/#comment-30024957
-
 
1899
                </source>
1743
                <sourcelink>cdburgess</sourcelink>
1900
                <sourcelink>cdburgess</sourcelink>
1744
                <id>229</id>
1901
                <id>229</id>
1745
        </test>
1902
        </test>
1746
</tests>
1903
</tests>