Rev 4 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4 | daniel-mar | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | |||
3 | <!-- |
||
4 | Source: http://isemail.googlecode.com/svn/trunk/tests/tests.xml |
||
5 | --> |
||
6 | |||
7 | <tests version="1.10"> |
||
8 | <test> |
||
9 | <address>first.last@example.com</address> |
||
10 | <valid>true</valid> |
||
11 | <source>Dominic Sayers</source> |
||
12 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
13 | <id>1</id> |
||
14 | </test> |
||
15 | <test> |
||
16 | <address>1234567890123456789012345678901234567890123456789012345678901234@example.com</address> |
||
17 | <valid>true</valid> |
||
18 | <source>Dominic Sayers</source> |
||
19 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
20 | <id>2</id> |
||
21 | </test> |
||
22 | <test> |
||
23 | <address>first.last@sub.do,com</address> |
||
24 | <valid>false</valid> |
||
25 | <comment>Mistyped comma instead of dot (replaces old #3 which was the same as #57)</comment> |
||
26 | <source>Rob <bob@bob.com></source> |
||
27 | <id>3</id> |
||
28 | </test> |
||
29 | <test> |
||
30 | <address>"first\"last"@example.com</address> |
||
31 | <valid>true</valid> |
||
32 | <source>Dominic Sayers</source> |
||
33 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
34 | <id>4</id> |
||
35 | </test> |
||
36 | <test> |
||
37 | <address>first\@last@example.com</address> |
||
38 | <valid>false</valid> |
||
39 | <comment>Escaping can only happen within a quoted string</comment> |
||
40 | <source>Dominic Sayers</source> |
||
41 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
42 | <id>5</id> |
||
43 | </test> |
||
44 | <test> |
||
45 | <address>"first@last"@example.com</address> |
||
46 | <valid>true</valid> |
||
47 | <source>Dominic Sayers</source> |
||
48 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
49 | <id>6</id> |
||
50 | </test> |
||
51 | <test> |
||
52 | <address>"first\\last"@example.com</address> |
||
53 | <valid>true</valid> |
||
54 | <source>Dominic Sayers</source> |
||
55 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
56 | <id>7</id> |
||
57 | </test> |
||
58 | <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> |
||
60 | <valid>true</valid> |
||
61 | <comment>Total length reduced to 254 characters so it's still valid</comment> |
||
62 | <source>Dominic Sayers</source> |
||
63 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
64 | <id>8</id> |
||
65 | </test> |
||
66 | <test> |
||
67 | <address>1234567890123456789012345678901234567890123456789012345678@12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.123456789012345678901234567890123456789012345678901234567890123.example.com</address> |
||
68 | <valid>true</valid> |
||
69 | <comment>Total length reduced to 254 characters so it's still valid</comment> |
||
70 | <source>RFC 3696 erratum 1690</source> |
||
71 | <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=1690</sourcelink> |
||
72 | <id>9</id> |
||
73 | </test> |
||
74 | <test> |
||
75 | <address>first.last@[12.34.56.78]</address> |
||
76 | <valid>true</valid> |
||
77 | <source>RFC 3696 erratum 1690</source> |
||
78 | <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=1690</sourcelink> |
||
79 | <id>10</id> |
||
80 | </test> |
||
81 | <test> |
||
82 | <address>first.last@[IPv6:::12.34.56.78]</address> |
||
83 | <valid>true</valid> |
||
84 | <source>Dominic Sayers</source> |
||
85 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
86 | <id>11</id> |
||
87 | </test> |
||
88 | <test> |
||
89 | <address>first.last@[IPv6:1111:2222:3333::4444:12.34.56.78]</address> |
||
90 | <valid>true</valid> |
||
91 | <source>Dominic Sayers</source> |
||
92 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
93 | <id>12</id> |
||
94 | </test> |
||
95 | <test> |
||
96 | <address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:12.34.56.78]</address> |
||
97 | <valid>true</valid> |
||
98 | <source>Dominic Sayers</source> |
||
99 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
100 | <id>13</id> |
||
101 | </test> |
||
102 | <test> |
||
103 | <address>first.last@[IPv6:::1111:2222:3333:4444:5555:6666]</address> |
||
104 | <valid>true</valid> |
||
105 | <source>Dominic Sayers</source> |
||
106 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
107 | <id>14</id> |
||
108 | </test> |
||
109 | <test> |
||
110 | <address>first.last@[IPv6:1111:2222:3333::4444:5555:6666]</address> |
||
111 | <valid>true</valid> |
||
112 | <source>Dominic Sayers</source> |
||
113 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
114 | <id>15</id> |
||
115 | </test> |
||
116 | <test> |
||
117 | <address>first.last@[IPv6:1111:2222:3333:4444:5555:6666::]</address> |
||
118 | <valid>true</valid> |
||
119 | <source>Dominic Sayers</source> |
||
120 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
121 | <id>16</id> |
||
122 | </test> |
||
123 | <test> |
||
124 | <address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:8888]</address> |
||
125 | <valid>true</valid> |
||
126 | <source>Dominic Sayers</source> |
||
127 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
128 | <id>17</id> |
||
129 | </test> |
||
130 | <test> |
||
131 | <address>first.last@x23456789012345678901234567890123456789012345678901234567890123.example.com</address> |
||
132 | <valid>true</valid> |
||
133 | <source>Dominic Sayers</source> |
||
134 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
135 | <id>18</id> |
||
136 | </test> |
||
137 | <test> |
||
138 | <address>first.last@1xample.com</address> |
||
139 | <valid>true</valid> |
||
140 | <source>Dominic Sayers</source> |
||
141 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
142 | <id>19</id> |
||
143 | </test> |
||
144 | <test> |
||
145 | <address>first.last@123.example.com</address> |
||
146 | <valid>true</valid> |
||
147 | <source>Dominic Sayers</source> |
||
148 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
149 | <id>20</id> |
||
150 | </test> |
||
151 | <test> |
||
152 | <address>123456789012345678901234567890123456789012345678901234567890@12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.12345678901234567890123456789012345678901234567890123456789.12.example.com</address> |
||
153 | <valid>false</valid> |
||
154 | <comment>Entire address is longer than 254 characters</comment> |
||
155 | <source>RFC 3696 erratum 1690</source> |
||
156 | <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=1690</sourcelink> |
||
157 | <id>21</id> |
||
158 | </test> |
||
159 | <test> |
||
160 | <address>first.last</address> |
||
161 | <valid>false</valid> |
||
162 | <comment>No @</comment> |
||
163 | <source>Dominic Sayers</source> |
||
164 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
165 | <id>22</id> |
||
166 | </test> |
||
167 | <test> |
||
168 | <address>12345678901234567890123456789012345678901234567890123456789012345@example.com</address> |
||
169 | <valid>false</valid> |
||
170 | <comment>Local part more than 64 characters</comment> |
||
171 | <source>Dominic Sayers</source> |
||
172 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
173 | <id>23</id> |
||
174 | </test> |
||
175 | <test> |
||
176 | <address>.first.last@example.com</address> |
||
177 | <valid>false</valid> |
||
178 | <comment>Local part starts with a dot</comment> |
||
179 | <source>Dominic Sayers</source> |
||
180 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
181 | <id>24</id> |
||
182 | </test> |
||
183 | <test> |
||
184 | <address>first.last.@example.com</address> |
||
185 | <valid>false</valid> |
||
186 | <comment>Local part ends with a dot</comment> |
||
187 | <source>Dominic Sayers</source> |
||
188 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
189 | <id>25</id> |
||
190 | </test> |
||
191 | <test> |
||
192 | <address>first..last@example.com</address> |
||
193 | <valid>false</valid> |
||
194 | <comment>Local part has consecutive dots</comment> |
||
195 | <source>Dominic Sayers</source> |
||
196 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
197 | <id>26</id> |
||
198 | </test> |
||
199 | <test> |
||
200 | <address>"first"last"@example.com</address> |
||
201 | <valid>false</valid> |
||
202 | <comment>Local part contains unescaped excluded characters</comment> |
||
203 | <source>Dominic Sayers</source> |
||
204 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
205 | <id>27</id> |
||
206 | </test> |
||
207 | <test> |
||
208 | <address>"first\last"@example.com</address> |
||
209 | <valid>true</valid> |
||
210 | <comment>Any character can be escaped in a quoted string</comment> |
||
211 | <source>Dominic Sayers</source> |
||
212 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
213 | <id>28</id> |
||
214 | </test> |
||
215 | <test> |
||
216 | <address>"""@example.com</address> |
||
217 | <valid>false</valid> |
||
218 | <comment>Local part contains unescaped excluded characters</comment> |
||
219 | <source>Dominic Sayers</source> |
||
220 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
221 | <id>29</id> |
||
222 | </test> |
||
223 | <test> |
||
224 | <address>"\"@example.com</address> |
||
225 | <valid>false</valid> |
||
226 | <comment>Local part cannot end with a backslash</comment> |
||
227 | <source>Dominic Sayers</source> |
||
228 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
229 | <id>30</id> |
||
230 | </test> |
||
231 | <test> |
||
232 | <address>""@example.com</address> |
||
233 | <valid>false</valid> |
||
234 | <comment>Local part is effectively empty</comment> |
||
235 | <source>Dominic Sayers</source> |
||
236 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
237 | <id>31</id> |
||
238 | </test> |
||
239 | <test> |
||
240 | <address>first\\@last@example.com</address> |
||
241 | <valid>false</valid> |
||
242 | <comment>Local part contains unescaped excluded characters</comment> |
||
243 | <source>Dominic Sayers</source> |
||
244 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
245 | <id>32</id> |
||
246 | </test> |
||
247 | <test> |
||
248 | <address>first.last@</address> |
||
249 | <valid>false</valid> |
||
250 | <comment>No domain</comment> |
||
251 | <source>Dominic Sayers</source> |
||
252 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
253 | <id>33</id> |
||
254 | </test> |
||
255 | <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> |
||
257 | <valid>false</valid> |
||
258 | <comment>Domain exceeds 255 chars</comment> |
||
259 | <source>Dominic Sayers</source> |
||
260 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
261 | <id>34</id> |
||
262 | </test> |
||
263 | <test> |
||
264 | <address>first.last@[.12.34.56.78]</address> |
||
265 | <valid>false</valid> |
||
266 | <comment>Only char that can precede IPv4 address is ':'</comment> |
||
267 | <source>Dominic Sayers</source> |
||
268 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
269 | <id>35</id> |
||
270 | </test> |
||
271 | <test> |
||
272 | <address>first.last@[12.34.56.789]</address> |
||
273 | <valid>false</valid> |
||
274 | <comment>Can't be interpreted as IPv4 so IPv6 tag is missing</comment> |
||
275 | <source>Dominic Sayers</source> |
||
276 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
277 | <id>36</id> |
||
278 | </test> |
||
279 | <test> |
||
280 | <address>first.last@[::12.34.56.78]</address> |
||
281 | <valid>false</valid> |
||
282 | <comment>IPv6 tag is missing</comment> |
||
283 | <source>Dominic Sayers</source> |
||
284 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
285 | <id>37</id> |
||
286 | </test> |
||
287 | <test> |
||
288 | <address>first.last@[IPv5:::12.34.56.78]</address> |
||
289 | <valid>false</valid> |
||
290 | <comment>IPv6 tag is wrong</comment> |
||
291 | <source>Dominic Sayers</source> |
||
292 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
293 | <id>38</id> |
||
294 | </test> |
||
295 | <test> |
||
296 | <address>first.last@[IPv6:1111:2222:3333::4444:5555:12.34.56.78]</address> |
||
297 | <valid>false</valid> |
||
298 | <comment>Too many IPv6 groups (4 max)</comment> |
||
299 | <source>Dominic Sayers</source> |
||
300 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
301 | <id>39</id> |
||
302 | </test> |
||
303 | <test> |
||
304 | <address>first.last@[IPv6:1111:2222:3333:4444:5555:12.34.56.78]</address> |
||
305 | <valid>false</valid> |
||
306 | <comment>Not enough IPv6 groups</comment> |
||
307 | <source>Dominic Sayers</source> |
||
308 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
309 | <id>40</id> |
||
310 | </test> |
||
311 | <test> |
||
312 | <address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:12.34.56.78]</address> |
||
313 | <valid>false</valid> |
||
314 | <comment>Too many IPv6 groups (6 max)</comment> |
||
315 | <source>Dominic Sayers</source> |
||
316 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
317 | <id>41</id> |
||
318 | </test> |
||
319 | <test> |
||
320 | <address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777]</address> |
||
321 | <valid>false</valid> |
||
322 | <comment>Not enough IPv6 groups</comment> |
||
323 | <source>Dominic Sayers</source> |
||
324 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
325 | <id>42</id> |
||
326 | </test> |
||
327 | <test> |
||
328 | <address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:7777:8888:9999]</address> |
||
329 | <valid>false</valid> |
||
330 | <comment>Too many IPv6 groups (8 max)</comment> |
||
331 | <source>Dominic Sayers</source> |
||
332 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
333 | <id>43</id> |
||
334 | </test> |
||
335 | <test> |
||
336 | <address>first.last@[IPv6:1111:2222::3333::4444:5555:6666]</address> |
||
337 | <valid>false</valid> |
||
338 | <comment>Too many '::' (can be none or one)</comment> |
||
339 | <source>Dominic Sayers</source> |
||
340 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
341 | <id>44</id> |
||
342 | </test> |
||
343 | <test> |
||
344 | <address>first.last@[IPv6:1111:2222:3333::4444:5555:6666:7777]</address> |
||
345 | <valid>false</valid> |
||
346 | <comment>Too many IPv6 groups (6 max)</comment> |
||
347 | <source>Dominic Sayers</source> |
||
348 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
349 | <id>45</id> |
||
350 | </test> |
||
351 | <test> |
||
352 | <address>first.last@[IPv6:1111:2222:333x::4444:5555]</address> |
||
353 | <valid>false</valid> |
||
354 | <comment>x is not valid in an IPv6 address</comment> |
||
355 | <source>Dominic Sayers</source> |
||
356 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
357 | <id>46</id> |
||
358 | </test> |
||
359 | <test> |
||
360 | <address>first.last@[IPv6:1111:2222:33333::4444:5555]</address> |
||
361 | <valid>false</valid> |
||
362 | <comment>33333 is not a valid group in an IPv6 address</comment> |
||
363 | <source>Dominic Sayers</source> |
||
364 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
365 | <id>47</id> |
||
366 | </test> |
||
367 | <test> |
||
368 | <address>first.last@example.123</address> |
||
369 | <valid>false</valid> |
||
370 | <comment>TLD can't be all digits</comment> |
||
371 | <source>Dominic Sayers</source> |
||
372 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
373 | <id>48</id> |
||
374 | </test> |
||
375 | <test> |
||
376 | <address>first.last@com</address> |
||
377 | <valid>false</valid> |
||
378 | <comment>Mail host must be second- or lower level</comment> |
||
379 | <source>Dominic Sayers</source> |
||
380 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
381 | <id>49</id> |
||
382 | </test> |
||
383 | <test> |
||
384 | <address>first.last@-xample.com</address> |
||
385 | <valid>false</valid> |
||
386 | <comment>Label can't begin with a hyphen</comment> |
||
387 | <source>Dominic Sayers</source> |
||
388 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
389 | <id>50</id> |
||
390 | </test> |
||
391 | <test> |
||
392 | <address>first.last@exampl-.com</address> |
||
393 | <valid>false</valid> |
||
394 | <comment>Label can't end with a hyphen</comment> |
||
395 | <source>Dominic Sayers</source> |
||
396 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
397 | <id>51</id> |
||
398 | </test> |
||
399 | <test> |
||
400 | <address>first.last@x234567890123456789012345678901234567890123456789012345678901234.example.com</address> |
||
401 | <valid>false</valid> |
||
402 | <comment>Label can't be longer than 63 octets</comment> |
||
403 | <source>Dominic Sayers</source> |
||
404 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
405 | <id>52</id> |
||
406 | </test> |
||
407 | <test> |
||
408 | <address>"Abc\@def"@example.com</address> |
||
409 | <valid>true</valid> |
||
410 | <source>RFC 3696 (February 2004)</source> |
||
411 | <sourcelink>http://tools.ietf.org/html/rfc3696#section-3</sourcelink> |
||
412 | <id>53</id> |
||
413 | </test> |
||
414 | <test> |
||
415 | <address>"Fred\ Bloggs"@example.com</address> |
||
416 | <valid>true</valid> |
||
417 | <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> |
||
419 | <id>54</id> |
||
420 | </test> |
||
421 | <test> |
||
422 | <address>"Joe.\\Blow"@example.com</address> |
||
423 | <valid>true</valid> |
||
424 | <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> |
||
426 | <id>55</id> |
||
427 | </test> |
||
428 | <test> |
||
429 | <address>"Abc@def"@example.com</address> |
||
430 | <valid>true</valid> |
||
431 | <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> |
||
433 | <id>56</id> |
||
434 | </test> |
||
435 | <test> |
||
436 | <address>"Fred Bloggs"@example.com</address> |
||
437 | <valid>true</valid> |
||
438 | <source>RFC 3696 (February 2004)</source> |
||
439 | <sourcelink>http://tools.ietf.org/html/rfc3696#section-3</sourcelink> |
||
440 | <id>57</id> |
||
441 | </test> |
||
442 | <test> |
||
443 | <address>user+mailbox@example.com</address> |
||
444 | <valid>true</valid> |
||
445 | <source>RFC 3696 (February 2004)</source> |
||
446 | <sourcelink>http://tools.ietf.org/html/rfc3696#section-3</sourcelink> |
||
447 | <id>58</id> |
||
448 | </test> |
||
449 | <test> |
||
450 | <address>customer/department=shipping@example.com</address> |
||
451 | <valid>true</valid> |
||
452 | <source>RFC 3696 (February 2004)</source> |
||
453 | <sourcelink>http://tools.ietf.org/html/rfc3696#section-3</sourcelink> |
||
454 | <id>59</id> |
||
455 | </test> |
||
456 | <test> |
||
457 | <address>$A12345@example.com</address> |
||
458 | <valid>true</valid> |
||
459 | <source>RFC 3696 (February 2004)</source> |
||
460 | <sourcelink>http://tools.ietf.org/html/rfc3696#section-3</sourcelink> |
||
461 | <id>60</id> |
||
462 | </test> |
||
463 | <test> |
||
464 | <address>!def!xyz%abc@example.com</address> |
||
465 | <valid>true</valid> |
||
466 | <source>RFC 3696 (February 2004)</source> |
||
467 | <sourcelink>http://tools.ietf.org/html/rfc3696#section-3</sourcelink> |
||
468 | <id>61</id> |
||
469 | </test> |
||
470 | <test> |
||
471 | <address>_somename@example.com</address> |
||
472 | <valid>true</valid> |
||
473 | <source>RFC 3696 (February 2004)</source> |
||
474 | <sourcelink>http://tools.ietf.org/html/rfc3696#section-3</sourcelink> |
||
475 | <id>62</id> |
||
476 | </test> |
||
477 | <test> |
||
478 | <address>dclo@us.ibm.com</address> |
||
479 | <valid>true</valid> |
||
480 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
481 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
482 | <id>63</id> |
||
483 | </test> |
||
484 | <test> |
||
485 | <address>abc\@def@example.com</address> |
||
486 | <valid>false</valid> |
||
487 | <comment>This example from RFC 3696 was corrected in an erratum</comment> |
||
488 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
489 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
490 | <id>64</id> |
||
491 | </test> |
||
492 | <test> |
||
493 | <address>abc\\@example.com</address> |
||
494 | <valid>false</valid> |
||
495 | <comment>This example from RFC 3696 was corrected in an erratum</comment> |
||
496 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
497 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
498 | <id>65</id> |
||
499 | </test> |
||
500 | <test> |
||
501 | <address>peter.piper@example.com</address> |
||
502 | <valid>true</valid> |
||
503 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
504 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
505 | <id>66</id> |
||
506 | </test> |
||
507 | <test> |
||
508 | <address>Doug\ \"Ace\"\ Lovell@example.com</address> |
||
509 | <valid>false</valid> |
||
510 | <comment>Escaping can only happen in a quoted string</comment> |
||
511 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
512 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
513 | <id>67</id> |
||
514 | </test> |
||
515 | <test> |
||
516 | <address>"Doug \"Ace\" L."@example.com</address> |
||
517 | <valid>true</valid> |
||
518 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
519 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
520 | <id>68</id> |
||
521 | </test> |
||
522 | <test> |
||
523 | <address>abc@def@example.com</address> |
||
524 | <valid>false</valid> |
||
525 | <comment>Doug Lovell says this should fail</comment> |
||
526 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
527 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
528 | <id>69</id> |
||
529 | </test> |
||
530 | <test> |
||
531 | <address>abc\\@def@example.com</address> |
||
532 | <valid>false</valid> |
||
533 | <comment>Doug Lovell says this should fail</comment> |
||
534 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
535 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
536 | <id>70</id> |
||
537 | </test> |
||
538 | <test> |
||
539 | <address>abc\@example.com</address> |
||
540 | <valid>false</valid> |
||
541 | <comment>Doug Lovell says this should fail</comment> |
||
542 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
543 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
544 | <id>71</id> |
||
545 | </test> |
||
546 | <test> |
||
547 | <address>@example.com</address> |
||
548 | <valid>false</valid> |
||
549 | <comment>No local part</comment> |
||
550 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
551 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
552 | <id>72</id> |
||
553 | </test> |
||
554 | <test> |
||
555 | <address>doug@</address> |
||
556 | <valid>false</valid> |
||
557 | <comment>Doug Lovell says this should fail</comment> |
||
558 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
559 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
560 | <id>73</id> |
||
561 | </test> |
||
562 | <test> |
||
563 | <address>"qu@example.com</address> |
||
564 | <valid>false</valid> |
||
565 | <comment>Doug Lovell says this should fail</comment> |
||
566 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
567 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
568 | <id>74</id> |
||
569 | </test> |
||
570 | <test> |
||
571 | <address>ote"@example.com</address> |
||
572 | <valid>false</valid> |
||
573 | <comment>Doug Lovell says this should fail</comment> |
||
574 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
575 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
576 | <id>75</id> |
||
577 | </test> |
||
578 | <test> |
||
579 | <address>.dot@example.com</address> |
||
580 | <valid>false</valid> |
||
581 | <comment>Doug Lovell says this should fail</comment> |
||
582 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
583 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
584 | <id>76</id> |
||
585 | </test> |
||
586 | <test> |
||
587 | <address>dot.@example.com</address> |
||
588 | <valid>false</valid> |
||
589 | <comment>Doug Lovell says this should fail</comment> |
||
590 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
591 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
592 | <id>77</id> |
||
593 | </test> |
||
594 | <test> |
||
595 | <address>two..dot@example.com</address> |
||
596 | <valid>false</valid> |
||
597 | <comment>Doug Lovell says this should fail</comment> |
||
598 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
599 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
600 | <id>78</id> |
||
601 | </test> |
||
602 | <test> |
||
603 | <address>"Doug "Ace" L."@example.com</address> |
||
604 | <valid>false</valid> |
||
605 | <comment>Doug Lovell says this should fail</comment> |
||
606 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
607 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
608 | <id>79</id> |
||
609 | </test> |
||
610 | <test> |
||
611 | <address>Doug\ \"Ace\"\ L\.@example.com</address> |
||
612 | <valid>false</valid> |
||
613 | <comment>Doug Lovell says this should fail</comment> |
||
614 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
615 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
616 | <id>80</id> |
||
617 | </test> |
||
618 | <test> |
||
619 | <address>hello world@example.com</address> |
||
620 | <valid>false</valid> |
||
621 | <comment>Doug Lovell says this should fail</comment> |
||
622 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
623 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
624 | <id>81</id> |
||
625 | </test> |
||
626 | <test> |
||
627 | <address>gatsby@f.sc.ot.t.f.i.tzg.era.l.d.</address> |
||
628 | <valid>false</valid> |
||
629 | <comment>Doug Lovell says this should fail</comment> |
||
630 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
631 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
632 | <id>82</id> |
||
633 | </test> |
||
634 | <test> |
||
635 | <valid>true</valid> |
||
636 | <address>test@example.com</address> |
||
637 | <source>Dave Child</source> |
||
638 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
639 | <id>83</id> |
||
640 | </test> |
||
641 | <test> |
||
642 | <valid>true</valid> |
||
643 | <address>TEST@example.com</address> |
||
644 | <source>Dave Child</source> |
||
645 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
646 | <id>84</id> |
||
647 | </test> |
||
648 | <test> |
||
649 | <valid>true</valid> |
||
650 | <address>1234567890@example.com</address> |
||
651 | <source>Dave Child</source> |
||
652 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
653 | <id>85</id> |
||
654 | </test> |
||
655 | <test> |
||
656 | <valid>true</valid> |
||
657 | <address>test+test@example.com</address> |
||
658 | <source>Dave Child</source> |
||
659 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
660 | <id>86</id> |
||
661 | </test> |
||
662 | <test> |
||
663 | <valid>true</valid> |
||
664 | <address>test-test@example.com</address> |
||
665 | <source>Dave Child</source> |
||
666 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
667 | <id>87</id> |
||
668 | </test> |
||
669 | <test> |
||
670 | <valid>true</valid> |
||
671 | <address>t*est@example.com</address> |
||
672 | <source>Dave Child</source> |
||
673 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
674 | <id>88</id> |
||
675 | </test> |
||
676 | <test> |
||
677 | <valid>true</valid> |
||
678 | <address>+1~1+@example.com</address> |
||
679 | <source>Dave Child</source> |
||
680 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
681 | <id>89</id> |
||
682 | </test> |
||
683 | <test> |
||
684 | <valid>true</valid> |
||
685 | <address>{_test_}@example.com</address> |
||
686 | <source>Dave Child</source> |
||
687 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
688 | <id>90</id> |
||
689 | </test> |
||
690 | <test> |
||
691 | <valid>true</valid> |
||
692 | <address>"[[ test ]]"@example.com</address> |
||
693 | <source>Dave Child</source> |
||
694 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
695 | <id>91</id> |
||
696 | </test> |
||
697 | <test> |
||
698 | <valid>true</valid> |
||
699 | <address>test.test@example.com</address> |
||
700 | <source>Dave Child</source> |
||
701 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
702 | <id>92</id> |
||
703 | </test> |
||
704 | <test> |
||
705 | <valid>true</valid> |
||
706 | <address>"test.test"@example.com</address> |
||
707 | <source>Dave Child</source> |
||
708 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
709 | <id>93</id> |
||
710 | </test> |
||
711 | <test> |
||
712 | <valid>true</valid> |
||
713 | <address>test."test"@example.com</address> |
||
714 | <comment>Obsolete form, but documented in RFC 5322</comment> |
||
715 | <source>Dave Child</source> |
||
716 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
717 | <id>94</id> |
||
718 | </test> |
||
719 | <test> |
||
720 | <valid>true</valid> |
||
721 | <address>"test@test"@example.com</address> |
||
722 | <source>Dave Child</source> |
||
723 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
724 | <id>95</id> |
||
725 | </test> |
||
726 | <test> |
||
727 | <valid>true</valid> |
||
728 | <address>test@123.123.123.x123</address> |
||
729 | <source>Dave Child</source> |
||
730 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
731 | <id>96</id> |
||
732 | </test> |
||
733 | <test> |
||
734 | <valid>false</valid> |
||
735 | <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> |
||
737 | <source>Dave Child</source> |
||
738 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
739 | <id>97</id> |
||
740 | </test> |
||
741 | <test> |
||
742 | <valid>true</valid> |
||
743 | <address>test@[123.123.123.123]</address> |
||
744 | <source>Dave Child</source> |
||
745 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
746 | <id>98</id> |
||
747 | </test> |
||
748 | <test> |
||
749 | <valid>true</valid> |
||
750 | <address>test@example.example.com</address> |
||
751 | <source>Dave Child</source> |
||
752 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
753 | <id>99</id> |
||
754 | </test> |
||
755 | <test> |
||
756 | <valid>true</valid> |
||
757 | <address>test@example.example.example.com</address> |
||
758 | <source>Dave Child</source> |
||
759 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
760 | <id>100</id> |
||
761 | </test> |
||
762 | <test> |
||
763 | <valid>false</valid> |
||
764 | <address>test.example.com</address> |
||
765 | <source>Dave Child</source> |
||
766 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
767 | <id>101</id> |
||
768 | </test> |
||
769 | <test> |
||
770 | <valid>false</valid> |
||
771 | <address>test.@example.com</address> |
||
772 | <source>Dave Child</source> |
||
773 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
774 | <id>102</id> |
||
775 | </test> |
||
776 | <test> |
||
777 | <valid>false</valid> |
||
778 | <address>test..test@example.com</address> |
||
779 | <source>Dave Child</source> |
||
780 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
781 | <id>103</id> |
||
782 | </test> |
||
783 | <test> |
||
784 | <valid>false</valid> |
||
785 | <address>.test@example.com</address> |
||
786 | <source>Dave Child</source> |
||
787 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
788 | <id>104</id> |
||
789 | </test> |
||
790 | <test> |
||
791 | <valid>false</valid> |
||
792 | <address>test@test@example.com</address> |
||
793 | <source>Dave Child</source> |
||
794 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
795 | <id>105</id> |
||
796 | </test> |
||
797 | <test> |
||
798 | <valid>false</valid> |
||
799 | <address>test@@example.com</address> |
||
800 | <source>Dave Child</source> |
||
801 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
802 | <id>106</id> |
||
803 | </test> |
||
804 | <test> |
||
805 | <valid>false</valid> |
||
806 | <address>-- test --@example.com</address> |
||
807 | <comment>No spaces allowed in local part</comment> |
||
808 | <source>Dave Child</source> |
||
809 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
810 | <id>107</id> |
||
811 | </test> |
||
812 | <test> |
||
813 | <valid>false</valid> |
||
814 | <address>[test]@example.com</address> |
||
815 | <comment>Square brackets only allowed within quotes</comment> |
||
816 | <source>Dave Child</source> |
||
817 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
818 | <id>108</id> |
||
819 | </test> |
||
820 | <test> |
||
821 | <valid>true</valid> |
||
822 | <address>"test\test"@example.com</address> |
||
823 | <comment>Any character can be escaped in a quoted string</comment> |
||
824 | <source>Dave Child</source> |
||
825 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
826 | <id>109</id> |
||
827 | </test> |
||
828 | <test> |
||
829 | <valid>false</valid> |
||
830 | <address>"test"test"@example.com</address> |
||
831 | <comment>Quotes cannot be nested</comment> |
||
832 | <source>Dave Child</source> |
||
833 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
834 | <id>110</id> |
||
835 | </test> |
||
836 | <test> |
||
837 | <valid>false</valid> |
||
838 | <address>()[]\;:,><@example.com</address> |
||
839 | <comment>Disallowed Characters</comment> |
||
840 | <source>Dave Child</source> |
||
841 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
842 | <id>111</id> |
||
843 | </test> |
||
844 | <test> |
||
845 | <valid>false</valid> |
||
846 | <comment>Dave Child says so</comment> |
||
847 | <address>test@.</address> |
||
848 | <source>Dave Child</source> |
||
849 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
850 | <id>112</id> |
||
851 | </test> |
||
852 | <test> |
||
853 | <valid>false</valid> |
||
854 | <comment>Dave Child says so</comment> |
||
855 | <address>test@example.</address> |
||
856 | <source>Dave Child</source> |
||
857 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
858 | <id>113</id> |
||
859 | </test> |
||
860 | <test> |
||
861 | <valid>false</valid> |
||
862 | <comment>Dave Child says so</comment> |
||
863 | <address>test@.org</address> |
||
864 | <source>Dave Child</source> |
||
865 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
866 | <id>114</id> |
||
867 | </test> |
||
868 | <test> |
||
869 | <valid>false</valid> |
||
870 | <address>test@123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012.com</address> |
||
871 | <comment>255 characters is maximum length for domain. This is 256.</comment> |
||
872 | <source>Dave Child</source> |
||
873 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
874 | <id>115</id> |
||
875 | </test> |
||
876 | <test> |
||
877 | <valid>false</valid> |
||
878 | <comment>Dave Child says so</comment> |
||
879 | <address>test@example</address> |
||
880 | <source>Dave Child</source> |
||
881 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
882 | <id>116</id> |
||
883 | </test> |
||
884 | <test> |
||
885 | <valid>false</valid> |
||
886 | <comment>Dave Child says so</comment> |
||
887 | <address>test@[123.123.123.123</address> |
||
888 | <source>Dave Child</source> |
||
889 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
890 | <id>117</id> |
||
891 | </test> |
||
892 | <test> |
||
893 | <valid>false</valid> |
||
894 | <comment>Dave Child says so</comment> |
||
895 | <address>test@123.123.123.123]</address> |
||
896 | <source>Dave Child</source> |
||
897 | <sourcelink>http://code.google.com/p/php-email-address-validation/</sourcelink> |
||
898 | <id>118</id> |
||
899 | </test> |
||
900 | <test> |
||
901 | <address>NotAnEmail</address> |
||
902 | <valid>false</valid> |
||
903 | <comment>Phil Haack says so</comment> |
||
904 | <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> |
||
906 | <id>119</id> |
||
907 | </test> |
||
908 | <test> |
||
909 | <address>@NotAnEmail</address> |
||
910 | <valid>false</valid> |
||
911 | <comment>Phil Haack says so</comment> |
||
912 | <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> |
||
914 | <id>120</id> |
||
915 | </test> |
||
916 | <test> |
||
917 | <address>"test\\blah"@example.com</address> |
||
918 | <valid>true</valid> |
||
919 | <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> |
||
921 | <id>121</id> |
||
922 | </test> |
||
923 | <test> |
||
924 | <address>"test\blah"@example.com</address> |
||
925 | <valid>true</valid> |
||
926 | <comment>Any character can be escaped in a quoted string</comment> |
||
927 | <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> |
||
929 | <id>122</id> |
||
930 | </test> |
||
931 | <test> |
||
932 | <address>"test\ blah"@example.com</address> |
||
933 | <valid>true</valid> |
||
934 | <comment>Quoted string specifically excludes carriage returns unless escaped</comment> |
||
935 | <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> |
||
937 | <id>123</id> |
||
938 | </test> |
||
939 | <test> |
||
940 | <address>"test blah"@example.com</address> |
||
941 | <valid>false</valid> |
||
942 | <comment>Quoted string specifically excludes carriage returns</comment> |
||
943 | <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> |
||
945 | <id>124</id> |
||
946 | </test> |
||
947 | <test> |
||
948 | <address>"test\"blah"@example.com</address> |
||
949 | <valid>true</valid> |
||
950 | <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> |
||
952 | <id>125</id> |
||
953 | </test> |
||
954 | <test> |
||
955 | <address>"test"blah"@example.com</address> |
||
956 | <valid>false</valid> |
||
957 | <comment>Phil Haack says so</comment> |
||
958 | <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> |
||
960 | <id>126</id> |
||
961 | </test> |
||
962 | <test> |
||
963 | <address>customer/department@example.com</address> |
||
964 | <valid>true</valid> |
||
965 | <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> |
||
967 | <id>127</id> |
||
968 | </test> |
||
969 | <test> |
||
970 | <address>_Yosemite.Sam@example.com</address> |
||
971 | <valid>true</valid> |
||
972 | <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> |
||
974 | <id>128</id> |
||
975 | </test> |
||
976 | <test> |
||
977 | <address>~@example.com</address> |
||
978 | <valid>true</valid> |
||
979 | <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> |
||
981 | <id>129</id> |
||
982 | </test> |
||
983 | <test> |
||
984 | <address>.wooly@example.com</address> |
||
985 | <valid>false</valid> |
||
986 | <comment>Phil Haack says so</comment> |
||
987 | <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> |
||
989 | <id>130</id> |
||
990 | </test> |
||
991 | <test> |
||
992 | <address>wo..oly@example.com</address> |
||
993 | <valid>false</valid> |
||
994 | <comment>Phil Haack says so</comment> |
||
995 | <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> |
||
997 | <id>131</id> |
||
998 | </test> |
||
999 | <test> |
||
1000 | <address>pootietang.@example.com</address> |
||
1001 | <valid>false</valid> |
||
1002 | <comment>Phil Haack says so</comment> |
||
1003 | <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> |
||
1005 | <id>132</id> |
||
1006 | </test> |
||
1007 | <test> |
||
1008 | <address>.@example.com</address> |
||
1009 | <valid>false</valid> |
||
1010 | <comment>Phil Haack says so</comment> |
||
1011 | <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> |
||
1013 | <id>133</id> |
||
1014 | </test> |
||
1015 | <test> |
||
1016 | <address>"Austin@Powers"@example.com</address> |
||
1017 | <valid>true</valid> |
||
1018 | <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> |
||
1020 | <id>134</id> |
||
1021 | </test> |
||
1022 | <test> |
||
1023 | <address>Ima.Fool@example.com</address> |
||
1024 | <valid>true</valid> |
||
1025 | <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> |
||
1027 | <id>135</id> |
||
1028 | </test> |
||
1029 | <test> |
||
1030 | <address>"Ima.Fool"@example.com</address> |
||
1031 | <valid>true</valid> |
||
1032 | <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> |
||
1034 | <id>136</id> |
||
1035 | </test> |
||
1036 | <test> |
||
1037 | <address>"Ima Fool"@example.com</address> |
||
1038 | <valid>true</valid> |
||
1039 | <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> |
||
1041 | <id>137</id> |
||
1042 | </test> |
||
1043 | <test> |
||
1044 | <address>Ima Fool@example.com</address> |
||
1045 | <valid>false</valid> |
||
1046 | <comment>Phil Haack says so</comment> |
||
1047 | <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> |
||
1049 | <id>138</id> |
||
1050 | </test> |
||
1051 | <test> |
||
1052 | <address>phil.h\@\@ck@haacked.com</address> |
||
1053 | <valid>false</valid> |
||
1054 | <comment>Escaping can only happen in a quoted string</comment> |
||
1055 | <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> |
||
1057 | <id>139</id> |
||
1058 | </test> |
||
1059 | <test> |
||
1060 | <address>"first"."last"@example.com</address> |
||
1061 | <valid>true</valid> |
||
1062 | <source>Dominic Sayers</source> |
||
1063 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1064 | <id>140</id> |
||
1065 | </test> |
||
1066 | <test> |
||
1067 | <address>"first".middle."last"@example.com</address> |
||
1068 | <valid>true</valid> |
||
1069 | <source>Dominic Sayers</source> |
||
1070 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1071 | <id>141</id> |
||
1072 | </test> |
||
1073 | <test> |
||
1074 | <address>"first\\"last"@example.com</address> |
||
1075 | <valid>false</valid> |
||
1076 | <comment>Contains an unescaped quote</comment> |
||
1077 | <source>Dominic Sayers</source> |
||
1078 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1079 | <id>142</id> |
||
1080 | </test> |
||
1081 | <test> |
||
1082 | <address>"first".last@example.com</address> |
||
1083 | <valid>true</valid> |
||
1084 | <comment>obs-local-part form as described in RFC 5322</comment> |
||
1085 | <source>Dominic Sayers</source> |
||
1086 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1087 | <id>143</id> |
||
1088 | </test> |
||
1089 | <test> |
||
1090 | <address>first."last"@example.com</address> |
||
1091 | <valid>true</valid> |
||
1092 | <comment>obs-local-part form as described in RFC 5322</comment> |
||
1093 | <source>Dominic Sayers</source> |
||
1094 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1095 | <id>144</id> |
||
1096 | </test> |
||
1097 | <test> |
||
1098 | <address>"first"."middle"."last"@example.com</address> |
||
1099 | <valid>true</valid> |
||
1100 | <comment>obs-local-part form as described in RFC 5322</comment> |
||
1101 | <source>Dominic Sayers</source> |
||
1102 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1103 | <id>145</id> |
||
1104 | </test> |
||
1105 | <test> |
||
1106 | <address>"first.middle"."last"@example.com</address> |
||
1107 | <valid>true</valid> |
||
1108 | <comment>obs-local-part form as described in RFC 5322</comment> |
||
1109 | <source>Dominic Sayers</source> |
||
1110 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1111 | <id>146</id> |
||
1112 | </test> |
||
1113 | <test> |
||
1114 | <address>"first.middle.last"@example.com</address> |
||
1115 | <valid>true</valid> |
||
1116 | <comment>obs-local-part form as described in RFC 5322</comment> |
||
1117 | <source>Dominic Sayers</source> |
||
1118 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1119 | <id>147</id> |
||
1120 | </test> |
||
1121 | <test> |
||
1122 | <address>"first..last"@example.com</address> |
||
1123 | <valid>true</valid> |
||
1124 | <comment>obs-local-part form as described in RFC 5322</comment> |
||
1125 | <source>Dominic Sayers</source> |
||
1126 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1127 | <id>148</id> |
||
1128 | </test> |
||
1129 | <test> |
||
1130 | <address>foo@[\1.2.3.4]</address> |
||
1131 | <valid>false</valid> |
||
1132 | <comment>RFC 5321 specifies the syntax for address-literal and does not allow escaping</comment> |
||
1133 | <source>Cal Henderson</source> |
||
1134 | <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink> |
||
1135 | <id>149</id> |
||
1136 | </test> |
||
1137 | <test> |
||
1138 | <address>"first\\\"last"@example.com</address> |
||
1139 | <valid>true</valid> |
||
1140 | <source>Dominic Sayers</source> |
||
1141 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1142 | <id>150</id> |
||
1143 | </test> |
||
1144 | <test> |
||
1145 | <address>first."mid\dle"."last"@example.com</address> |
||
1146 | <valid>true</valid> |
||
1147 | <comment>Backslash can escape anything but must escape something</comment> |
||
1148 | <source>Dominic Sayers</source> |
||
1149 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1150 | <id>151</id> |
||
1151 | </test> |
||
1152 | <test> |
||
1153 | <address>Test. Folding. Whitespace@example.com</address> |
||
1154 | <valid>true</valid> |
||
1155 | <source>Dominic Sayers</source> |
||
1156 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1157 | <id>152</id> |
||
1158 | </test> |
||
1159 | <test> |
||
1160 | <address>first."".last@example.com</address> |
||
1161 | <valid>false</valid> |
||
1162 | <comment>Contains a zero-length element</comment> |
||
1163 | <source>Dominic Sayers</source> |
||
1164 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1165 | <id>153</id> |
||
1166 | </test> |
||
1167 | <test> |
||
1168 | <address>first\last@example.com</address> |
||
1169 | <valid>false</valid> |
||
1170 | <comment>Unquoted string must be an atom</comment> |
||
1171 | <source>Dominic Sayers</source> |
||
1172 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1173 | <id>154</id> |
||
1174 | </test> |
||
1175 | <test> |
||
1176 | <address>Abc\@def@example.com</address> |
||
1177 | <valid>false</valid> |
||
1178 | <comment>Was incorrectly given as a valid address in the original RFC 3696</comment> |
||
1179 | <source>RFC 3696 erratum 246</source> |
||
1180 | <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=246</sourcelink> |
||
1181 | <id>155</id> |
||
1182 | </test> |
||
1183 | <test> |
||
1184 | <address>Fred\ Bloggs@example.com</address> |
||
1185 | <valid>false</valid> |
||
1186 | <comment>Was incorrectly given as a valid address in the original RFC 3696</comment> |
||
1187 | <source>RFC 3696 erratum 246</source> |
||
1188 | <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=246</sourcelink> |
||
1189 | <id>156</id> |
||
1190 | </test> |
||
1191 | <test> |
||
1192 | <address>Joe.\\Blow@example.com</address> |
||
1193 | <valid>false</valid> |
||
1194 | <comment>Was incorrectly given as a valid address in the original RFC 3696</comment> |
||
1195 | <source>RFC 3696 erratum 246</source> |
||
1196 | <sourcelink>http://www.rfc-editor.org/errata_search.php?rfc=3696&eid=246</sourcelink> |
||
1197 | <id>157</id> |
||
1198 | </test> |
||
1199 | <test> |
||
1200 | <address>first.last@[IPv6:1111:2222:3333:4444:5555:6666:12.34.567.89]</address> |
||
1201 | <valid>false</valid> |
||
1202 | <comment>IPv4 part contains an invalid octet</comment> |
||
1203 | <source>Cal Henderson</source> |
||
1204 | <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink> |
||
1205 | <id>158</id> |
||
1206 | </test> |
||
1207 | <test> |
||
1208 | <address>"test\ blah"@example.com</address> |
||
1209 | <valid>false</valid> |
||
1210 | <comment>Folding white space can't appear within a quoted pair</comment> |
||
1211 | <source>Cal Henderson</source> |
||
1212 | <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink> |
||
1213 | <id>159</id> |
||
1214 | </test> |
||
1215 | <test> |
||
1216 | <address>"test blah"@example.com</address> |
||
1217 | <valid>true</valid> |
||
1218 | <comment>This is a valid quoted string with folding white space</comment> |
||
1219 | <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> |
||
1221 | <id>160</id> |
||
1222 | </test> |
||
1223 | <test> |
||
1224 | <address>{^c\@**Dog^}@cartoon.com</address> |
||
1225 | <valid>false</valid> |
||
1226 | <comment>This is a throwaway example from Doug Lovell's article. Actually it's not a valid address.</comment> |
||
1227 | <source>Doug Lovell (LinuxJournal, June 2007)</source> |
||
1228 | <sourcelink>http://www.linuxjournal.com/article/9585</sourcelink> |
||
1229 | <id>161</id> |
||
1230 | </test> |
||
1231 | <test> |
||
1232 | <address>(foo)cal(bar)@(baz)iamcal.com(quux)</address> |
||
1233 | <valid>true</valid> |
||
1234 | <comment>A valid address containing comments</comment> |
||
1235 | <source>Cal Henderson</source> |
||
1236 | <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink> |
||
1237 | <id>162</id> |
||
1238 | </test> |
||
1239 | <test> |
||
1240 | <address>cal@iamcal(woo).(yay)com</address> |
||
1241 | <valid>true</valid> |
||
1242 | <comment>A valid address containing comments</comment> |
||
1243 | <source>Cal Henderson</source> |
||
1244 | <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink> |
||
1245 | <id>163</id> |
||
1246 | </test> |
||
1247 | <test> |
||
1248 | <address>"foo"(yay)@(hoopla)[1.2.3.4]</address> |
||
1249 | <valid>false</valid> |
||
1250 | <comment>Address literal can't be commented (RFC 5321)</comment> |
||
1251 | <source>Cal Henderson</source> |
||
1252 | <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink> |
||
1253 | <id>164</id> |
||
1254 | </test> |
||
1255 | <test> |
||
1256 | <address>cal(woo(yay)hoopla)@iamcal.com</address> |
||
1257 | <valid>true</valid> |
||
1258 | <comment>A valid address containing comments</comment> |
||
1259 | <source>Cal Henderson</source> |
||
1260 | <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink> |
||
1261 | <id>165</id> |
||
1262 | </test> |
||
1263 | <test> |
||
1264 | <address>cal(foo\@bar)@iamcal.com</address> |
||
1265 | <valid>true</valid> |
||
1266 | <comment>A valid address containing comments</comment> |
||
1267 | <source>Cal Henderson</source> |
||
1268 | <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink> |
||
1269 | <id>166</id> |
||
1270 | </test> |
||
1271 | <test> |
||
1272 | <address>cal(foo\)bar)@iamcal.com</address> |
||
1273 | <valid>true</valid> |
||
1274 | <comment>A valid address containing comments and an escaped parenthesis</comment> |
||
1275 | <source>Cal Henderson</source> |
||
1276 | <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink> |
||
1277 | <id>167</id> |
||
1278 | </test> |
||
1279 | <test> |
||
1280 | <address>cal(foo(bar)@iamcal.com</address> |
||
1281 | <valid>false</valid> |
||
1282 | <comment>Unclosed parenthesis in comment</comment> |
||
1283 | <source>Cal Henderson</source> |
||
1284 | <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink> |
||
1285 | <id>168</id> |
||
1286 | </test> |
||
1287 | <test> |
||
1288 | <address>cal(foo)bar)@iamcal.com</address> |
||
1289 | <valid>false</valid> |
||
1290 | <comment>Too many closing parentheses</comment> |
||
1291 | <source>Cal Henderson</source> |
||
1292 | <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink> |
||
1293 | <id>169</id> |
||
1294 | </test> |
||
1295 | <test> |
||
1296 | <address>cal(foo\)@iamcal.com</address> |
||
1297 | <valid>false</valid> |
||
1298 | <comment>Backslash at end of comment has nothing to escape</comment> |
||
1299 | <source>Cal Henderson</source> |
||
1300 | <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink> |
||
1301 | <id>170</id> |
||
1302 | </test> |
||
1303 | <test> |
||
1304 | <address>first().last@example.com</address> |
||
1305 | <valid>true</valid> |
||
1306 | <comment>A valid address containing an empty comment</comment> |
||
1307 | <source>Dominic Sayers</source> |
||
1308 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1309 | <id>171</id> |
||
1310 | </test> |
||
1311 | <test> |
||
1312 | <address>first.( middle )last@example.com</address> |
||
1313 | <valid>true</valid> |
||
1314 | <comment>Comment with folding white space</comment> |
||
1315 | <source>Dominic Sayers</source> |
||
1316 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1317 | <id>172</id> |
||
1318 | </test> |
||
1319 | <test> |
||
1320 | <address>first(12345678901234567890123456789012345678901234567890)last@(1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890)example.com</address> |
||
1321 | <valid>false</valid> |
||
1322 | <comment>Too long with comments, not too long without</comment> |
||
1323 | <source>Dominic Sayers</source> |
||
1324 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1325 | <id>173</id> |
||
1326 | </test> |
||
1327 | <test> |
||
1328 | <address>first(Welcome to the ("wonderful" (!)) world of email)@example.com</address> |
||
1329 | <valid>true</valid> |
||
1330 | <comment>Silly example from my blog post</comment> |
||
1331 | <source>Dominic Sayers</source> |
||
1332 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1333 | <id>174</id> |
||
1334 | </test> |
||
1335 | <test> |
||
1336 | <address>pete(his account)@silly.test(his host)</address> |
||
1337 | <valid>true</valid> |
||
1338 | <comment>Canonical example from RFC 5322</comment> |
||
1339 | <source>RFC 5322</source> |
||
1340 | <sourcelink>http://tools.ietf.org/html/rfc5322</sourcelink> |
||
1341 | <id>175</id> |
||
1342 | </test> |
||
1343 | <test> |
||
1344 | <address>c@(Chris's host.)public.example</address> |
||
1345 | <valid>true</valid> |
||
1346 | <comment>Canonical example from RFC 5322</comment> |
||
1347 | <source>RFC 5322</source> |
||
1348 | <sourcelink>http://tools.ietf.org/html/rfc5322</sourcelink> |
||
1349 | <id>176</id> |
||
1350 | </test> |
||
1351 | <test> |
||
1352 | <address>jdoe@machine(comment). example</address> |
||
1353 | <valid>true</valid> |
||
1354 | <comment>Canonical example from RFC 5322</comment> |
||
1355 | <source>RFC 5322</source> |
||
1356 | <sourcelink>http://tools.ietf.org/html/rfc5322</sourcelink> |
||
1357 | <id>177</id> |
||
1358 | </test> |
||
1359 | <test> |
||
1360 | <address>1234 @ local(blah) .machine .example</address> |
||
1361 | <valid>true</valid> |
||
1362 | <comment>Canonical example from RFC 5322</comment> |
||
1363 | <source>RFC 5322</source> |
||
1364 | <sourcelink>http://tools.ietf.org/html/rfc5322</sourcelink> |
||
1365 | <id>178</id> |
||
1366 | </test> |
||
1367 | <test> |
||
1368 | <address>first(middle)last@example.com</address> |
||
1369 | <valid>false</valid> |
||
1370 | <comment>Can't have a comment or white space except at an element boundary</comment> |
||
1371 | <source>Dominic Sayers</source> |
||
1372 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1373 | <id>179</id> |
||
1374 | </test> |
||
1375 | <test> |
||
1376 | <address>first(abc.def).last@example.com</address> |
||
1377 | <valid>true</valid> |
||
1378 | <comment>Comment can contain a dot</comment> |
||
1379 | <source>Dominic Sayers</source> |
||
1380 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1381 | <id>180</id> |
||
1382 | </test> |
||
1383 | <test> |
||
1384 | <address>first(a"bc.def).last@example.com</address> |
||
1385 | <valid>true</valid> |
||
1386 | <comment>Comment can contain double quote</comment> |
||
1387 | <source>Dominic Sayers</source> |
||
1388 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1389 | <id>181</id> |
||
1390 | </test> |
||
1391 | <test> |
||
1392 | <address>first.(")middle.last(")@example.com</address> |
||
1393 | <valid>true</valid> |
||
1394 | <comment>Comment can contain a quote</comment> |
||
1395 | <source>Dominic Sayers</source> |
||
1396 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1397 | <id>182</id> |
||
1398 | </test> |
||
1399 | <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> |
||
1401 | <valid>false</valid> |
||
1402 | <comment>Can't have comments or white space except at an element boundary</comment> |
||
1403 | <source>Dominic Sayers</source> |
||
1404 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1405 | <id>183</id> |
||
1406 | </test> |
||
1407 | <test> |
||
1408 | <address>first(abc\(def)@example.com</address> |
||
1409 | <valid>true</valid> |
||
1410 | <comment>Comment can contain quoted-pair</comment> |
||
1411 | <source>Dominic Sayers</source> |
||
1412 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1413 | <id>184</id> |
||
1414 | </test> |
||
1415 | <test> |
||
1416 | <address>first.last@x(1234567890123456789012345678901234567890123456789012345678901234567890).com</address> |
||
1417 | <valid>true</valid> |
||
1418 | <comment>Label is longer than 63 octets, but not with comment removed</comment> |
||
1419 | <source>Cal Henderson</source> |
||
1420 | <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink> |
||
1421 | <id>185</id> |
||
1422 | </test> |
||
1423 | <test> |
||
1424 | <address>a(a(b(c)d(e(f))g)h(i)j)@example.com</address> |
||
1425 | <valid>true</valid> |
||
1426 | <source>Cal Henderson</source> |
||
1427 | <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink> |
||
1428 | <id>186</id> |
||
1429 | </test> |
||
1430 | <test> |
||
1431 | <address>a(a(b(c)d(e(f))g)(h(i)j)@example.com</address> |
||
1432 | <valid>false</valid> |
||
1433 | <comment>Braces are not properly matched</comment> |
||
1434 | <source>Cal Henderson</source> |
||
1435 | <sourcelink>http://code.iamcal.com/php/rfc822/</sourcelink> |
||
1436 | <id>187</id> |
||
1437 | </test> |
||
1438 | <test> |
||
1439 | <address>name.lastname@domain.com</address> |
||
1440 | <valid>true</valid> |
||
1441 | <source>Paul Gregg</source> |
||
1442 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1443 | <id>188</id> |
||
1444 | </test> |
||
1445 | <test> |
||
1446 | <address>.@</address> |
||
1447 | <valid>false</valid> |
||
1448 | <source>Paul Gregg</source> |
||
1449 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1450 | <id>189</id> |
||
1451 | </test> |
||
1452 | <test> |
||
1453 | <address>a@b</address> |
||
1454 | <valid>false</valid> |
||
1455 | <source>Paul Gregg</source> |
||
1456 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1457 | <id>190</id> |
||
1458 | </test> |
||
1459 | <test> |
||
1460 | <address>@bar.com</address> |
||
1461 | <valid>false</valid> |
||
1462 | <source>Paul Gregg</source> |
||
1463 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1464 | <id>191</id> |
||
1465 | </test> |
||
1466 | <test> |
||
1467 | <address>@@bar.com</address> |
||
1468 | <valid>false</valid> |
||
1469 | <source>Paul Gregg</source> |
||
1470 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1471 | <id>192</id> |
||
1472 | </test> |
||
1473 | <test> |
||
1474 | <address>a@bar.com</address> |
||
1475 | <valid>true</valid> |
||
1476 | <source>Paul Gregg</source> |
||
1477 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1478 | <id>193</id> |
||
1479 | </test> |
||
1480 | <test> |
||
1481 | <address>aaa.com</address> |
||
1482 | <valid>false</valid> |
||
1483 | <source>Paul Gregg</source> |
||
1484 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1485 | <id>194</id> |
||
1486 | </test> |
||
1487 | <test> |
||
1488 | <address>aaa@.com</address> |
||
1489 | <valid>false</valid> |
||
1490 | <source>Paul Gregg</source> |
||
1491 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1492 | <id>195</id> |
||
1493 | </test> |
||
1494 | <test> |
||
1495 | <address>aaa@.123</address> |
||
1496 | <valid>false</valid> |
||
1497 | <source>Paul Gregg</source> |
||
1498 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1499 | <id>196</id> |
||
1500 | </test> |
||
1501 | <test> |
||
1502 | <address>aaa@[123.123.123.123]</address> |
||
1503 | <valid>true</valid> |
||
1504 | <source>Paul Gregg</source> |
||
1505 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1506 | <id>197</id> |
||
1507 | </test> |
||
1508 | <test> |
||
1509 | <address>aaa@[123.123.123.123]a</address> |
||
1510 | <valid>false</valid> |
||
1511 | <comment>extra data outside ip</comment> |
||
1512 | <source>Paul Gregg</source> |
||
1513 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1514 | <id>198</id> |
||
1515 | </test> |
||
1516 | <test> |
||
1517 | <address>aaa@[123.123.123.333]</address> |
||
1518 | <valid>false</valid> |
||
1519 | <comment>not a valid IP</comment> |
||
1520 | <source>Paul Gregg</source> |
||
1521 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1522 | <id>199</id> |
||
1523 | </test> |
||
1524 | <test> |
||
1525 | <address>a@bar.com.</address> |
||
1526 | <valid>false</valid> |
||
1527 | <source>Paul Gregg</source> |
||
1528 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1529 | <id>200</id> |
||
1530 | </test> |
||
1531 | <test> |
||
1532 | <address>a@bar</address> |
||
1533 | <valid>false</valid> |
||
1534 | <source>Paul Gregg</source> |
||
1535 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1536 | <id>201</id> |
||
1537 | </test> |
||
1538 | <test> |
||
1539 | <address>a-b@bar.com</address> |
||
1540 | <valid>true</valid> |
||
1541 | <source>Paul Gregg</source> |
||
1542 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1543 | <id>202</id> |
||
1544 | </test> |
||
1545 | <test> |
||
1546 | <address>+@b.c</address> |
||
1547 | <valid>true</valid> |
||
1548 | <comment>TLDs can be any length</comment> |
||
1549 | <source>Paul Gregg</source> |
||
1550 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1551 | <id>203</id> |
||
1552 | </test> |
||
1553 | <test> |
||
1554 | <address>+@b.com</address> |
||
1555 | <valid>true</valid> |
||
1556 | <source>Paul Gregg</source> |
||
1557 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1558 | <id>204</id> |
||
1559 | </test> |
||
1560 | <test> |
||
1561 | <address>a@-b.com</address> |
||
1562 | <valid>false</valid> |
||
1563 | <source>Paul Gregg</source> |
||
1564 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1565 | <id>205</id> |
||
1566 | </test> |
||
1567 | <test> |
||
1568 | <address>a@b-.com</address> |
||
1569 | <valid>false</valid> |
||
1570 | <source>Paul Gregg</source> |
||
1571 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1572 | <id>206</id> |
||
1573 | </test> |
||
1574 | <test> |
||
1575 | <address>-@..com</address> |
||
1576 | <valid>false</valid> |
||
1577 | <source>Paul Gregg</source> |
||
1578 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1579 | <id>207</id> |
||
1580 | </test> |
||
1581 | <test> |
||
1582 | <address>-@a..com</address> |
||
1583 | <valid>false</valid> |
||
1584 | <source>Paul Gregg</source> |
||
1585 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1586 | <id>208</id> |
||
1587 | </test> |
||
1588 | <test> |
||
1589 | <address>a@b.co-foo.uk</address> |
||
1590 | <valid>true</valid> |
||
1591 | <source>Paul Gregg</source> |
||
1592 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1593 | <id>209</id> |
||
1594 | </test> |
||
1595 | <test> |
||
1596 | <address>"hello my name is"@stutter.com</address> |
||
1597 | <valid>true</valid> |
||
1598 | <source>Paul Gregg</source> |
||
1599 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1600 | <id>210</id> |
||
1601 | </test> |
||
1602 | <test> |
||
1603 | <address>"Test \"Fail\" Ing"@example.com</address> |
||
1604 | <valid>true</valid> |
||
1605 | <source>Paul Gregg</source> |
||
1606 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1607 | <id>211</id> |
||
1608 | </test> |
||
1609 | <test> |
||
1610 | <address>valid@special.museum</address> |
||
1611 | <valid>true</valid> |
||
1612 | <source>Paul Gregg</source> |
||
1613 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1614 | <id>212</id> |
||
1615 | </test> |
||
1616 | <test> |
||
1617 | <address>invalid@special.museum-</address> |
||
1618 | <valid>false</valid> |
||
1619 | <source>Paul Gregg</source> |
||
1620 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1621 | <id>213</id> |
||
1622 | </test> |
||
1623 | <test> |
||
1624 | <address>shaitan@my-domain.thisisminekthx</address> |
||
1625 | <valid>true</valid> |
||
1626 | <comment>Disagree with Paul Gregg here</comment> |
||
1627 | <source>Paul Gregg</source> |
||
1628 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1629 | <id>214</id> |
||
1630 | </test> |
||
1631 | <test> |
||
1632 | <address>test@...........com</address> |
||
1633 | <valid>false</valid> |
||
1634 | <comment>......</comment> |
||
1635 | <source>Paul Gregg</source> |
||
1636 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1637 | <id>215</id> |
||
1638 | </test> |
||
1639 | <test> |
||
1640 | <address>foobar@192.168.0.1</address> |
||
1641 | <valid>false</valid> |
||
1642 | <comment>ip need to be []</comment> |
||
1643 | <source>Paul Gregg</source> |
||
1644 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1645 | <id>216</id> |
||
1646 | </test> |
||
1647 | <test> |
||
1648 | <address>"Joe\\Blow"@example.com</address> |
||
1649 | <valid>true</valid> |
||
1650 | <source>Paul Gregg</source> |
||
1651 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1652 | <id>217</id> |
||
1653 | </test> |
||
1654 | <test> |
||
1655 | <address>Invalid \ Folding \ Whitespace@example.com</address> |
||
1656 | <valid>false</valid> |
||
1657 | <source>Paul Gregg</source> |
||
1658 | <comment>This isn't FWS so Dominic Sayers says it's invalid</comment> |
||
1659 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1660 | <id>218</id> |
||
1661 | </test> |
||
1662 | <test> |
||
1663 | <address>HM2Kinsists@(that comments are allowed)this.is.ok</address> |
||
1664 | <valid>true</valid> |
||
1665 | <source>Paul Gregg</source> |
||
1666 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1667 | <id>219</id> |
||
1668 | </test> |
||
1669 | <test> |
||
1670 | <address>user%uucp!path@somehost.edu</address> |
||
1671 | <valid>true</valid> |
||
1672 | <source>Paul Gregg</source> |
||
1673 | <sourcelink>http://pgregg.com/projects/php/code/showvalidemail.php</sourcelink> |
||
1674 | <id>220</id> |
||
1675 | </test> |
||
1676 | <test> |
||
1677 | <address>"first(last)"@example.com</address> |
||
1678 | <valid>true</valid> |
||
1679 | <source>Dominic Sayers</source> |
||
1680 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1681 | <id>221</id> |
||
1682 | </test> |
||
1683 | <test> |
||
1684 | <address> ( x ) first ( x ) . ( x) last ( x ) @example.com</address> |
||
1685 | <valid>true</valid> |
||
1686 | <source>Dominic Sayers</source> |
||
1687 | <sourcelink>http://www.dominicsayers.com/isemail</sourcelink> |
||
1688 | <id>222</id> |
||
1689 | </test> |
||
1690 | <test> |
||
1691 | <address>test. obs@syntax.com</address> |
||
1692 | <valid>true</valid> |
||
1693 | <comment>obs-fws allows multiple lines</comment> |
||
1694 | <source>George Pollard</source> |
||
1695 | <sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink> |
||
1696 | <id>223</id> |
||
1697 | </test> |
||
1698 | <test> |
||
1699 | <address>test. obs@syntax.com</address> |
||
1700 | <valid>true</valid> |
||
1701 | <comment>obs-fws allows multiple lines (test 2: space before break)</comment> |
||
1702 | <source>George Pollard</source> |
||
1703 | <sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink> |
||
1704 | <id>224</id> |
||
1705 | </test> |
||
1706 | <test> |
||
1707 | <address>test. obs@syntax.com</address> |
||
1708 | <valid>false</valid> |
||
1709 | <comment>obs-fws must have at least one WSP per line</comment> |
||
1710 | <source>George Pollard</source> |
||
1711 | <sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink> |
||
1712 | <id>225</id> |
||
1713 | </test> |
||
1714 | <test> |
||
1715 | <address>"null \\0"@char.com</address> |
||
1716 | <valid>true</valid> |
||
1717 | <comment>can have escaped null character</comment> |
||
1718 | <source>George Pollard</source> |
||
1719 | <sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink> |
||
1720 | <id>226</id> |
||
1721 | </test> |
||
1722 | <test> |
||
1723 | <address>"null \0"@char.com</address> |
||
1724 | <valid>false</valid> |
||
1725 | <comment>cannot have unescaped null character</comment> |
||
1726 | <source>George Pollard</source> |
||
1727 | <sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink> |
||
1728 | <id>227</id> |
||
1729 | </test> |
||
1730 | <test> |
||
1731 | <address>null\\0@char.com</address> |
||
1732 | <valid>false</valid> |
||
1733 | <comment>escaped null must be in quoted string</comment> |
||
1734 | <source>George Pollard</source> |
||
1735 | <sourcelink>http://porg.es/blog/properly-validating-e-mail-addresses</sourcelink> |
||
1736 | <id>228</id> |
||
1737 | </test> |
||
1738 | <test> |
||
1739 | <address>cdburgess+!#$%&'*-/=?+_{}|~test@gmail.com</address> |
||
1740 | <valid>true</valid> |
||
1741 | <comment>Example given in comments</comment> |
||
1742 | <source>http://www.dominicsayers.com/isemail/#comment-30024957</source> |
||
1743 | <sourcelink>cdburgess</sourcelink> |
||
1744 | <id>229</id> |
||
1745 | </test> |
||
1746 | </tests> |