alexjp-blackbook_csv 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. data/CHANGES.markdown +44 -0
  2. data/Manifest.txt +59 -0
  3. data/README.markdown +72 -0
  4. data/Rakefile +39 -0
  5. data/debug_blackbook.rb +10 -0
  6. data/init.rb +1 -0
  7. data/lib/blackbook/exporter/base.rb +16 -0
  8. data/lib/blackbook/exporter/vcf.rb +45 -0
  9. data/lib/blackbook/exporter/xml.rb +28 -0
  10. data/lib/blackbook/importer/aol.rb +83 -0
  11. data/lib/blackbook/importer/base.rb +39 -0
  12. data/lib/blackbook/importer/csv.rb +87 -0
  13. data/lib/blackbook/importer/gmail.rb +66 -0
  14. data/lib/blackbook/importer/hotmail.rb +124 -0
  15. data/lib/blackbook/importer/page_scraper.rb +86 -0
  16. data/lib/blackbook/importer/yahoo.rb +61 -0
  17. data/lib/blackbook.rb +76 -0
  18. data/test/fixtures/aol_application_page.html +566 -0
  19. data/test/fixtures/aol_bad_login_response_stage_3.html +565 -0
  20. data/test/fixtures/aol_contacts.html +90 -0
  21. data/test/fixtures/aol_login_response_stage_1.html +158 -0
  22. data/test/fixtures/aol_login_response_stage_2.html +559 -0
  23. data/test/fixtures/aol_login_response_stage_3.html +61 -0
  24. data/test/fixtures/aol_login_response_stage_4.html +48 -0
  25. data/test/fixtures/aol_login_response_stage_5.html +404 -0
  26. data/test/fixtures/aol_new_contacts.html +431 -0
  27. data/test/fixtures/gmail.csv +3 -0
  28. data/test/fixtures/gmail_bad_login_response_stage_2.html +560 -0
  29. data/test/fixtures/gmail_contacts.html +228 -0
  30. data/test/fixtures/gmail_login_response_stage_1.html +556 -0
  31. data/test/fixtures/gmail_login_response_stage_2.html +1 -0
  32. data/test/fixtures/gmail_login_response_stage_2a.html +1 -0
  33. data/test/fixtures/gmail_login_response_stage_3.html +249 -0
  34. data/test/fixtures/hotmail_bad_login_response_stage_2.html +31 -0
  35. data/test/fixtures/hotmail_contacts.html +191 -0
  36. data/test/fixtures/hotmail_login_response_stage_1.html +31 -0
  37. data/test/fixtures/hotmail_login_response_stage_2.html +1 -0
  38. data/test/fixtures/hotmail_login_response_stage_3.html +380 -0
  39. data/test/fixtures/yahoo_bad_login_response_stage_2.html +443 -0
  40. data/test/fixtures/yahoo_contacts.csv +3 -0
  41. data/test/fixtures/yahoo_contacts_not_logged_in.html +432 -0
  42. data/test/fixtures/yahoo_contacts_stage_1.html +399 -0
  43. data/test/fixtures/yahoo_login_response_stage_1.html +433 -0
  44. data/test/fixtures/yahoo_login_response_stage_2.html +16 -0
  45. data/test/scripts/live_test.rb +25 -0
  46. data/test/test_blackbook.rb +60 -0
  47. data/test/test_blackbook_exporter_base.rb +16 -0
  48. data/test/test_blackbook_exporter_vcf.rb +52 -0
  49. data/test/test_blackbook_exporter_xml.rb +16 -0
  50. data/test/test_blackbook_importer_aol.rb +113 -0
  51. data/test/test_blackbook_importer_base.rb +24 -0
  52. data/test/test_blackbook_importer_csv.rb +60 -0
  53. data/test/test_blackbook_importer_gmail.rb +117 -0
  54. data/test/test_blackbook_importer_hotmail.rb +147 -0
  55. data/test/test_blackbook_importer_page_scraper.rb +51 -0
  56. data/test/test_blackbook_importer_yahoo.rb +97 -0
  57. data/test/test_helper.rb +69 -0
  58. data/vendor/plugins/blackbook/lib/autotest/blackbook.rb +27 -0
  59. data/vendor/plugins/blackbook/lib/autotest/discover.rb +3 -0
  60. metadata +176 -0
@@ -0,0 +1,565 @@
1
+ ---------------------------------
2
+
3
+
4
+
5
+
6
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Free email address from AOL Mail</title>
9
+ <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"/>
10
+ <meta name="keywords" content="AOL Mail free web reliable easy IMAP inbox email industry leading antivirus virus spam protection antispam storage pictures photo calendar address calendar personal domain name Blackberry Treo Motorola Q Outlook Thunderbird buddy list access anywhere everywhere on the go personal domain drag and drop blog integration keyword search easy to use"/>
11
+ <meta name="description" content="Get a free email address from AOL now! You no longer need to be an AOL member to take advantage of great AOL Mail features such as industry-leading spam and virus protection, anytime-access on your mobile device, flexibility to work with other email clients using IMAP and more."/>
12
+ <link rel="stylesheet" type="text/css" media="screen" href="https://s.aolcdn.com/art/registration/snslanding_css.css"/>
13
+ <script language="javascript" type="text/javascript" src="https://s.aolcdn.com/art/registration/snslanding_js.js"><!--....--></script>
14
+ <link rel="stylesheet" type="text/css" media="screen" href="https://s.aolcdn.com/art/landing_pages/snslanding10_id1686.css"/>
15
+
16
+ <LINK href="https://sns-static.aolcdn.com/sns/3.5r2/style/snsMiniStyles.css" rel="stylesheet" type="text/css">
17
+ <style type="text/css">
18
+ #sns_MainContentDiv, #sns_MainContentDiv #snsLoginRow,#sns_LoginTitleBar,.sns_noTabs, #sns_NewLoginModule, #sns_LoginContentDiv,.sns_LoginTabs .selected,#sns_LoginTitleBar { color: #000000;background-color: #FFFFFF; }
19
+ #sns_Module #sns_MainContentDiv, #sns_Footer #sPipe, .sns_HeadlineBold, #sns_MainContentDiv label, #sns_MainContentDiv .sns_FieldLabel { color: #000000 }
20
+ #sns_TitleBar { background-color: #3333CC;border:1px solid #3333CC }
21
+ #sns_Module .sLnkSm, #sns_Module .sLnkMd, #sns_Module .sLnkLg, #sns_NewLoginModule .sLnkMd, #sns_NewLoginModule a{ color: #3333CC; }
22
+ #sns_MainContentDiv .sns_Text3, #sns_MainContentDiv td.sns_Text3 { color: #3399FF }
23
+ #sns_NewLoginModule {background-color:#FFFFFF; border:1px solid #3333CC; }
24
+ </style>
25
+ </head>
26
+ <body>
27
+ <div class="port_land">
28
+ <div class="lands">
29
+ <div id="othercontent">
30
+ <div class="aol_hatcontainer">
31
+ <script type="text/javascript">
32
+ //Overwrite Hat 2.0 min-width
33
+ var _aol_hat_commonstyle_ = '#aol_hat2 {min-width:100% !important; _width:100% !important;}';
34
+ var _sns_use_ssl_ = '1';
35
+ </script>
36
+ <script type="text/javascript" src="https://secure.aolhat.com/hat2/webmail_cayman2/jswrite.js"><!--hat jswrite is being included--></script>
37
+ </div>
38
+ <div class="brand">
39
+ <h1>
40
+ <img src="https://s.aolcdn.com/art/landing_pages/cayman_branding.gif" width="169" height="45" alt="FREE AOL Webmail" title="FREE AOL Webmail" border="0"/>
41
+ </h1>
42
+ <div class="logTrouble">
43
+ <a href="http://help.channels.aol.com/topic.adp?topicId=ART_219191&amp;ncid=AOLCMP00300000000128">Trouble Logging In?</a>
44
+ </div>
45
+ <div id="webBeacon" style="display:none;"><!--....--></div>
46
+ <script type="text/javascript">loc=document.getElementById('webBeacon');wBeacon = document.createElement("img");wBeacon.setAttribute('src', 'https://s.aolcdn.com/websuitebeacon/aol/en-us/BeaconLandingPage.html');wBeacon.style.height='1px';wBeacon.style.width='1px';loc.appendChild(wBeacon);</script>
47
+ <!--...--> </div>
48
+ </div>
49
+ <div class="landslt">
50
+ <div class="prim_promo">
51
+ <div class="contCopyTop"><!--....--></div>
52
+ <div class="contCopy">
53
+ <h2>Get your FREE email account<br/>
54
+ with unlimited storage! </h2>
55
+ <h3>Try FREE AOL Mail and we'll transfer your messages<br/>
56
+ and address book from your old email account automatically. </h3>
57
+ <h4>AOL Easy Transfer makes switching your email a snap.</h4>
58
+ <a class="buttonGet" href="https://new.aol.com/freeaolweb?promocode=824087&amp;promocode2=806077&amp;ncid=AOLCMP00300000000126">Get FREE AOL Mail</a>
59
+ <ul>
60
+ <li>Automatically copies your address book</li>
61
+ <li>Notifies all your friends of your new email address</li>
62
+ <li>Forwards emails sent to your old email address</li>
63
+ <li>Copies all your emails, attachments, even your folders</li>
64
+ </ul>
65
+ <a class="linkEasy" href="https://secure5.trueswitch.com/aolweb/?ncid=AOLCMP00300000000129">Transfer My Emails and Address Book Now</a>
66
+ <a class="linkLearnMore" href="http://discover.aol.com/memed/webmail/">Learn More</a>
67
+ <div class="clearme"><!--....--></div>
68
+ </div>
69
+ <div class="contCopyBot"><!--....--></div>
70
+ <div class="sellBlockLeft">
71
+ <p>Rather have a personalized email address that totally expresses who you are, like Emily@Wild4music.com?<strong>It's FREE.</strong>
72
+ <a class="sblButton" href="http://domains.aol.com?ncid=AOLCMP00300000000130">Find a Personalized Address</a>
73
+ </p>
74
+ <img src="https://s.aolcdn.com/art/landing_pages/bl_promo" width="59" height="60" alt="find a personalized address" title="find a personalized address"/>
75
+ <a class="sblLearnLink" href="http://discover.aol.com/memed/webmail/myeaddress.adp">Learn More</a>
76
+ </div>
77
+ <div class="sellBlockRight">
78
+ <h5>AIM<sup>&reg;</sup>
79
+ . Mail. Content. All in one window - New AOL Mail! </h5>
80
+ <img src="https://s.aolcdn.com/art/landing_pages/br_promo" width="158" height="83" alt="AOL Mail screen shot" title="AOL Mail screen shot"/>
81
+ <p>View all your messages on one page - check out new AOL Mail now.</p>
82
+ <a href="http://o.aolcdn.com/cdn.webmail.aol.com/mailtour/aol/en-us/index-noNav.htm?ncid=AOLCMP00300000000131">Take the Tour</a>
83
+ </div>
84
+ </div>
85
+ </div>
86
+ <div class="landsrt">
87
+ <div class="login">
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+ <SCRIPT LANGUAGE="JavaScript" SRC="https://sns-static.aolcdn.com/sns/3.5r2/js/mainValidations.js"></SCRIPT>
132
+
133
+ <script language="javascript" type="text/javascript">
134
+ prereqchecks('/badbrowser.psp?source=login&null');
135
+ </script>
136
+
137
+
138
+ <div id="sns_miniUiWidget" >
139
+ <div id="snsHelpBlk">
140
+ <span class="hdrText">Sign In</span>
141
+
142
+ <a id="snsHelpLnk" href="javascript:snsInfoPopUp(1,'https://my.screenname.aol.com/_cqr/help/infoPopUp.jsp?help=1')" alt="Help" tabindex="5">Help</a>
143
+
144
+ </div>
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+ <SCRIPT type="text/JavaScript" language="JavaScript">
239
+
240
+
241
+
242
+
243
+ function validateAolTab(loginForm){
244
+ var pwderr = new Array(4);
245
+ pwderr[RetVal.EMPTY_ERR]="You must enter a value for Password.";
246
+ pwderr[RetVal.MIN_ERR]="Password you entered is too short.";
247
+ pwderr[RetVal.MAX_ERR]="Password must not be longer than 16 characters.";
248
+ pwderr[RetVal.INVALID_ERR]="Password you entered is invalid. A Valid password should contain 6-16 letters or numbers.";
249
+ var result;
250
+ var loginId = loginForm.loginId;
251
+ stripOffAOLDomains(loginId);
252
+ if((/@/).test(loginId.value)) {
253
+ var err = new Array(4);
254
+ err[RetVal.EMPTY_ERR]="You must enter a value for E-mail Address.";
255
+ err[RetVal.MIN_ERR]="E-mail Address you entered is too short.";
256
+ err[RetVal.MAX_ERR]="E-mail Address must not be longer than 97 characters.";
257
+ err[RetVal.INVALID_ERR]="E-mail Address you entered is invalid. A valid E-mail address should look like: joe@aol.com. Please be sure that the E-mail Address doesn't contain any spaces.";
258
+ }
259
+ else {
260
+ var err = new Array(5);
261
+ err[RetVal.EMPTY_ERR]="You must enter a value for Screen Name.";
262
+ err[RetVal.MIN_ERR]="ScreenName you entered is too short.";
263
+ err[RetVal.MAX_ERR]="ScreenName must not be longer than 16 characters.";
264
+ err[RetVal.INVALID_ERR]="ScreenName you entered is invalid. A valid Screen Name consists of 3-16 characters and can contain letters, numbers, spaces, and must start with a letter (e.g., johndoe123). Please re-type your Screen Name.";
265
+ err[RetVal.ICQ_INVALID_ERR]="The ICQ UIN you entered is invalid. A valid ICQ UIN consists of 5-10 digits. Please re-type your ICQ UIN.";
266
+ }
267
+
268
+ result=snsCheckSignInForm(loginForm,err,pwderr);
269
+ return result;
270
+ }
271
+
272
+
273
+ function validateIcqTab(loginForm){
274
+ var pwderr = new Array(4);
275
+ pwderr[RetVal.EMPTY_ERR]="You must enter a value for Password.";
276
+ pwderr[RetVal.MIN_ERR]="Password you entered is too short.";
277
+ pwderr[RetVal.MAX_ERR]="Password must not be longer than 16 characters.";
278
+ pwderr[RetVal.INVALID_ERR]="Password you entered is invalid. A Valid password should contain 6-16 letters or numbers.";
279
+ var result;
280
+ var loginId = loginForm.loginId;
281
+ if((/@/).test(loginId.value)) {
282
+ var err = new Array(3);
283
+ err[RetVal.EMPTY_ERR]="Please enter an ICQ UIN or ICQ email alias";
284
+ err[RetVal.MIN_ERR]="ICQ e-mail alias you entered is invalid. A valid E-mail address should look like:joe@aol.com.";
285
+ err[RetVal.MAX_ERR]="E-mail Address must not be longer than 97 characters.";
286
+ err[RetVal.INVALID_ERR]="ICQ e-mail alias you entered is invalid. A valid E-mail address should look like:joe@aol.com.";
287
+ }
288
+ else {
289
+ var err = new Array(4);
290
+ err[RetVal.EMPTY_ERR]="Please enter an ICQ UIN or ICQ email alias";
291
+ err[RetVal.MIN_ERR]="An ICQ UIN is at least 5 numeric digits ";
292
+ err[RetVal.MAX_ERR]="ICQ UIN must not be more than 10 numeric digits";
293
+ err[RetVal.INVALID_ERR]="The ICQ UIN you entered is invalid. A valid ICQ UIN consists of 5-10 digits. Please re-type your ICQ UIN.";
294
+ }
295
+
296
+ result=checkIcqForm(loginForm,err,pwderr);
297
+ return result;
298
+ }
299
+
300
+
301
+
302
+
303
+
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+
314
+
315
+
316
+
317
+
318
+
319
+
320
+
321
+
322
+ </SCRIPT>
323
+
324
+
325
+ <div id="SLT" class="snslogintypes snslogintypes_content">
326
+
327
+
328
+ <div class="sns_noTabs"></div>
329
+
330
+
331
+
332
+
333
+
334
+
335
+
336
+
337
+
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+
349
+
350
+
351
+
352
+
353
+
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+
364
+
365
+
366
+
367
+
368
+
369
+
370
+
371
+
372
+
373
+
374
+
375
+
376
+
377
+
378
+
379
+
380
+
381
+
382
+
383
+
384
+
385
+
386
+ <div class="content" id="SLT.1">
387
+ <div id="sns_LoginAol">
388
+ <form name="AOLLoginForm" method="POST" action="https://my.screenname.aol.com/_cqr/login/login.psp" onsubmit="return validateAolTab(this);">
389
+ <input type="hidden" name="sitedomain" value="sns.webmail.aol.com">
390
+ <input type="hidden" name="siteId" value="">
391
+ <input type="hidden" name="lang" value="en">
392
+ <input type="hidden" name="locale" value="us">
393
+ <input type="hidden" name="authLev" value="2">
394
+ <input type="hidden" name="siteState" value="ver%3A2%7Cac%3AWS%7Cat%3ASNS%7Cld%3Awebmail.aol.com%7Cuv%3AAOL%7Clc%3Aen-us">
395
+ <input type="hidden" name="isSiteStateEncoded" value="true">
396
+ <input type="hidden" name="mcState" value="initialized">
397
+ <input type="hidden" name="uitype" value="std">
398
+ <input type="hidden" name="use_aam" value="0">
399
+ <input type="hidden" name="_sns_fg_color_" value="">
400
+ <input type="hidden" name="_sns_err_color_" value="">
401
+ <input type="hidden" name="_sns_link_color_" value="">
402
+ <input type="hidden" name="_sns_width_" value="">
403
+ <input type="hidden" name="_sns_height_" value="">
404
+ <input type="hidden" name="_sns_bg_color_" value="">
405
+ <input type="hidden" name="offerId" value="">
406
+ <input type="hidden" name="seamless" value="novl">
407
+ <input type="hidden" name="regPromoCode" value="">
408
+ <input type="hidden" name="idType" value="SN">
409
+
410
+
411
+ <input type="hidden" name="usrd" value="9604003">
412
+
413
+
414
+
415
+
416
+
417
+
418
+
419
+
420
+
421
+
422
+
423
+ <div id="snsmPswdRetry" class="snsmErrorText">
424
+
425
+
426
+
427
+ Invalid Screen Name or Password. Please try again.
428
+
429
+
430
+ </div>
431
+
432
+
433
+
434
+
435
+
436
+
437
+
438
+
439
+ <label for="lgnId1" id="lgnId1lbl">Screen Name or E-mail:</label>
440
+
441
+
442
+
443
+ <input type="text" name="loginId" maxlength="97" size="25" tabindex="1" value="mondragonmichael" id="lgnId1" class="inputBox">
444
+
445
+
446
+
447
+
448
+
449
+
450
+ <div id="snsmCreateAcctLnk"></div>
451
+
452
+
453
+
454
+ <label for="pwdId" alt="enter AOL password" id="pwdId1lbl">Password:</label>
455
+ <input type="password" name="password" maxlength="23" size="25" tabindex="2" value="" id="pwdId1" class="inputBox" alt="enter AOL password">
456
+
457
+ <a href="https://account.login.aol.com/opr/_cqr/opr/opr.psp?sitedomain=sns.webmail.aol.com&authLev=2&siteState=ver%3A2%7Cac%3AWS%7Cat%3ASNS%7Cld%3Awebmail.aol.com%7Cuv%3AAOL%7Clc%3Aen-us&lang=en&locale=us&seamless=novl" id="forgotpswdLnk" target="_top" class="snsmTinyText" tabindex="7" >Forgot Password</a>
458
+
459
+
460
+
461
+ <div id="rmbrBlk">
462
+ <input type="hidden" name="rememberMe" value="off">
463
+ </div>
464
+
465
+
466
+ <div class="alignBtnRt" id="sbmtAol">
467
+ <input type="submit" id="submitAol" value="Sign In" class="artzBtn def" tabindex="3" alt="Sign In" title="Sign In" />
468
+ </div>
469
+
470
+
471
+ </form>
472
+ </div>
473
+ </div>
474
+
475
+
476
+
477
+
478
+
479
+
480
+
481
+
482
+
483
+
484
+
485
+
486
+
487
+ <div style="display:none;">none</div>
488
+
489
+ <script type="text/Javascript">
490
+ _sns_p("SLT.1").style.display="block";
491
+
492
+
493
+
494
+
495
+ if( document.getElementById("pwdId1")){document.getElementById("pwdId1").focus();}
496
+
497
+
498
+
499
+
500
+
501
+
502
+
503
+
504
+ </script>
505
+
506
+ </div> <!-- end SLT -->
507
+
508
+
509
+
510
+
511
+
512
+ </div>
513
+ <script type="text/javascript">
514
+ <!--
515
+ var s_account="aolsnssignin,aolsvc";
516
+ //-->
517
+ </script>
518
+ <script type="text/javascript" src="https://sns-static.aolcdn.com/omni/H.8/omniunih.js"></script>
519
+ <script type="text/javascript">
520
+ <!--
521
+ s_265.linkInternalFilters="javascript:,aol.com";
522
+ s_265.server="my.screenname.aol.com";
523
+ s_265.pfxID="sso";
524
+ s_265.pageName="sso : login";
525
+ s_265.channel="us.snssignin";
526
+ s_265.prop1='ssologin';
527
+ s_265.prop12="/snsUiDriver.jsp";
528
+ s_265.prop15="bW9uZHJhZ29ubWljaGFlbA%3D%3D";
529
+ s_265.prop16="sns.webmail.aol.com";
530
+ s_265.prop17="lp";
531
+ s_265.prop18="2";
532
+ s_265.prop19="wa3";
533
+ s_265.prop20="en-us";
534
+ s_265.prop21="AOLPortal";
535
+ s_265.prop22=".aol.com";
536
+ var s_code=s_265.t();
537
+ if(s_code)document.write(s_code);
538
+ //-->
539
+ </script>
540
+ </div>
541
+ <div class="addl_promo">
542
+ <script type="text/javascript">r1=Math.round(Math.random()*1000000)//;</script>
543
+ <script type="text/javascript">document.write('<script type="text/javascript" src="https://eatps.web.aol.com:9001/open_web_adhoc?subtype=6915amp;r1='+r1+'">');document.write ('</scr'+'ipt>');</script>
544
+ </div>
545
+ </div>
546
+ </div>
547
+ <div class="footer">
548
+ <style type="text/css">#footerlinks{position:relative;display:block;font:10px arial,sans serif;color:#959494;margin:px 0px 0px 0px;}#footerlinks a, #footerlinks a:visited { color:#959494; text-decoration:none;}#footerlinks a:hover { text-decoration:underline; }</style>
549
+ <div id="footerlinks">
550
+ <a href="http://www.corp.aol.com/">AOL LLC.</a>
551
+ | <a href="http://downloads.channel.aol.com/windowsproducts">Download AOL</a>
552
+ | <a href="http://corp.aol.com/accessibility/">Accessibility Policy</a>
553
+ | <a href="http://www.aol.com/aolnetwork/terms_use.html">Terms of Use</a>
554
+ | <a href="http://www.aol.com/aolnetwork/aol_pp.html">Privacy Policy</a>
555
+ | <a href="http://www.aol.com/aolnetwork/trademarks.html">Trademarks</a>
556
+ | <a href="http://postmaster.aol.com/guidelines/bulk_email.html">Email Policy</a>
557
+ | <a href="http://advisor.aol.com/">Advertise With Us</a>
558
+ <br/>
559
+ Copyright 2007 AOL LLC. All Rights Reserved </div>
560
+ </div>
561
+ </div>
562
+ </body>
563
+ </html>
564
+
565
+ ---------------------------------
@@ -0,0 +1,90 @@
1
+
2
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
3
+ <html>
4
+ <head>
5
+ <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
6
+ <title>AIM Mail - Print contacts</title>
7
+ <script type="text/javascript">
8
+ var VERSION="31361:webmail.aol.com";
9
+ var AV_PAGE="http://webmail.aol.com/31361/aim/en-us/Default.aspx?rp=Lite%2fToday.aspx";
10
+ var RELOADING=false;
11
+ </script>
12
+ <link href="http://o.aolcdn.com/cdn.webmail.aol.com/31361/aim/en-us/styles-addresslist-print.css" type="text/css" rel="stylesheet">
13
+
14
+ <script>
15
+ function showPrintInstructions()
16
+ {
17
+ alert("To print, select Print from this window\x27s File menu.");
18
+ }
19
+ </script>
20
+ <style>
21
+
22
+ #printHeader img { width: 75px; height: 30px; border: 0px; }
23
+
24
+ .CalendarPrintHeaderText
25
+ {
26
+ padding-left: 10px;
27
+ font-size: 20px;
28
+ font-family: verdana,arial,geneva,sans-serif;
29
+ color: #133453;
30
+ vertical-align: top;
31
+ text-decoration: none;
32
+ font-weight: normal;
33
+ }
34
+
35
+ .heading
36
+ {
37
+ padding-bottom: 3px;
38
+ }
39
+ </style>
40
+ </head>
41
+ <body onload="showPrintInstructions();">
42
+ <table width="584" border="0" cellspacing="0" cellpadding="2" style="table-layout: fixed;">
43
+
44
+ <tr>
45
+ <td colspan="4" nowrap>
46
+ <div class="heading">
47
+ <img src="http://o.aolcdn.com/cdn.webmail.aol.com/31361/aim/en-us/images/img_calPrintLogo.gif"><span class="CalendarPrintHeaderText">Address Book</span>
48
+ </div>
49
+ <div style="float: left;"><span style="font-family: arial,helvetica,sans-serif; font-size: x-small; color: #000000;">mondragonmichael</span></div>
50
+ <div style="float: right;"><span style="font-family: arial,helvetica,sans-serif; font-size: x-small; color: #000000;">Printed: <script>document.write((new Date()).toLocaleString());</script></span></div>
51
+ <div style="clear: both;"></div>
52
+ <hr>
53
+ </td>
54
+ </tr>
55
+
56
+
57
+ <tr><td colspan="4"><span class="fullName">Joe User</span></td></tr>
58
+ <tr>
59
+ <td class="sectionHeader">Contact</td>
60
+ <td class="sectionHeader">Phone</td>
61
+ <td class="sectionHeader">Home</td>
62
+ <td class="sectionHeader">Work</td>
63
+ </tr>
64
+ <tr valign="top">
65
+ <td class="sectionContent"><span>Screen Name:</span> <span>joe.user</span><br><span>Email 1:</span> <span>joe.user@example.com</span></td>
66
+ <td class="sectionContent"></td>
67
+ <td class="sectionContent"><span></span></td>
68
+ <td class="sectionContent"><span></span></td>
69
+ </tr>
70
+
71
+ <tr><td colspan="4"><hr class="contactSeparator"></td></tr>
72
+
73
+ <tr><td colspan="4"><span class="fullName">Jane User</span></td></tr>
74
+ <tr>
75
+ <td class="sectionHeader">Contact</td>
76
+ <td class="sectionHeader">Phone</td>
77
+ <td class="sectionHeader">Home</td>
78
+ <td class="sectionHeader">Work</td>
79
+ </tr>
80
+ <tr valign="top">
81
+ <td class="sectionContent"><span>Screen Name:</span> <span>jane.user</span><br><span>Email 1:</span> <span>jane.user@example.com</span></td>
82
+ <td class="sectionContent"><span></span></td>
83
+ <td class="sectionContent"><span></span></td>
84
+ </tr>
85
+
86
+ <tr><td colspan="4"><hr class="contactSeparator"></td></tr>
87
+
88
+ </table>
89
+ </body>
90
+ </html>