Login | ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/javautils/ViaThinkSoft Java Utils/test/eMailTests/SayersTests.xml
Revision: 9
Committed: Mon Jun 14 12:58:26 2010 UTC (9 years, 11 months ago) by daniel-marschall
Content type: application/xml
File size: 60640 byte(s)
Log Message:
Mailutils updated

File Contents

# User Rev Content
1 daniel-marschall 4 <?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 &lt;bob@bob.com&gt;</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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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>()[]\;:,&gt;&lt;@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\&#13;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&#13;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.&#13;&#10; Folding.&#13;&#10; 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&amp;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&amp;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&amp;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\&#13;&#10; 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&#13;&#10; 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.(&#13;&#10; middle&#13;&#10; )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&#13;&#10; the ("wonderful" (!)) world&#13;&#10; 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 \&#10; Folding \&#10; 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> &#13;&#10; (&#13;&#10; x &#13;&#10; ) &#13;&#10; first&#13;&#10; ( &#13;&#10; x&#13;&#10; ) &#13;&#10; .&#13;&#10; ( &#13;&#10; x) &#13;&#10; last &#13;&#10; ( x &#13;&#10; ) &#13;&#10; @example.com</address>
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. &#13;&#10; &#13;&#10; 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. &#13;&#10; &#13;&#10; 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.&#13;&#10;&#13;&#10; 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+!#$%&amp;'*-/=?+_{}|~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>

Properties

Name Value
svn:mime-type text/plain