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 <bob@bob.com></source> |
28 | <source>Rob <bob@bob.com></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&eid=1690</sourcelink> |
77 | <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&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&eid=1690</sourcelink> |
85 | <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&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&eid=1690</sourcelink> |
168 | <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&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&eid=246</sourcelink> |
440 | <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&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&eid=246</sourcelink> |
448 | <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&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&eid=246</sourcelink> |
456 | <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&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>()[]\;:,><@example.com</address> |
894 | <address>()[]\;:,><@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\ blah"@example.com</address> |
1002 | <address>"test\ 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 blah"@example.com</address> |
1012 | <address>"test 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. Folding. Whitespace@example.com</address> |
1244 | <address>Test. Folding. 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&eid=246</sourcelink> |
1273 | <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&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&eid=246</sourcelink> |
1283 | <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&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&eid=246</sourcelink> |
1293 | <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&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\ blah"@example.com</address> |
1307 | <address>"test\ 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 blah"@example.com</address> |
1316 | <address>"test 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.( middle )last@example.com</address> |
1416 | <address>first.( middle )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 the ("wonderful" (!)) world of email)@example.com</address> |
1434 | <address>first(Welcome to the ("wonderful" (!)) |
- | 1435 | world 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 \ Folding \ Whitespace@example.com</address> |
1797 | <address>Invalid \ Folding \ 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> ( x ) |
|
- | 1831 | first ( x ) . ( |
|
1684 | <address> ( x ) first ( x ) . ( x) last ( x ) @example.com</address> |
1832 | x) last ( x ) |
- | 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. obs@syntax.com</address> |
1840 | <address>test. 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. obs@syntax.com</address> |
1849 | <address>test. 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. obs@syntax.com</address> |
1859 | <address>test. 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+!#$%&'*-/=?+_{}|~test@gmail.com</address> |
1895 | <address>cdburgess+!#$%&'*-/=?+_{}|~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> |