check out... IMPROSYS Contacts Importer or Address Book Grabber and Import U'r contacts from yahoo, hotmail, aol, msn.com, Microsoft outlook and Outlook Express. You can have this available in PHP, JAVA, Perl, Cold Fusion, Ruby on Rails, Classic ASP, Python and .Net. and you can have support for both API and scrapping for importing contacts. http://www.improsys.com Here are the details of the files PHP Contact Importer uses. index.php - Demonstrates how to use our PHP contact importer library. index2.php - Demonstrates how to use our PHP contact importer library. .[without domain list] abookimport.php - Main API file. This is the only file you need in your application in order to use our contact importer library. This file dynamically includes a contact importer engine file depending on the user supplied email address. If the user's choice is to import from hotmail, then it includes hotmail.php. csvutils.php - CSV functionalities library. Don't change its code. Change is not recommended. WebUtils.php - Cookie processing library. Don't change its code. Change is not recommended. grab_globals.lib.php - Grabs global variables in case PHP is set to global variables off. XMLParser.php - Contains code for parsing XML. hotmail.php- Hotmail importer engine. Don't change its code. Change is not recommended. gmail.php- Ymail importer engine. Don't change its code. Change is not recommended. yahoo.php- Yahoo importer engine. Don't change its code. Change is not recommended. aol.php- Aol importer engine. Don't change its code. Change is not recommended. 126.php- 126 importer engine. Don't change its code. Change is not recommended. 163.php- 163 importer engine. Don't change code of it.Change is not recommended. daum.php- daum importer engine. Don't change its code. Change is not recommended. fastmail.php- fastmail importer engine. Don't change its code. Change is not recommended. indiatimes.php- indiatimes.com importer engine. Don't change its code. Change is not recommended. interia.php- interia importer engine. Don't change its code. Change is not recommended. libero.php- libero importer engine. Don't change its code. Change is not recommended. mac.php- mac importer engine. Don't change its code. Change is not recommended. lycos.php- lycos importer engine. Don't change its code. Change is not recommended. linkedin.php- linkedin.com importer engine. Don't change its code. Change is not recommended. maildotcom.php- maildotcom importer engine. Don't change its code. Change is not recommended. mailru.php- mailru importer engine. Don't change its code. Change is not recommended. mynet.php- mynet importer engine. Don't change its code. Change is not recommended. qq.php- qq importer engine. Don't change its code. Change is not recommended. rambler.php- rambler.com importer engine. Don't change its code. Change is not recommended. rediff.php- rediff importer engine. Don't change its code. Change is not recommended. sina.php- sina importer engine. Don't change its code. Change is not recommended. web.php- web importer engine. Don't change its code. Change is not recommended. yandex.php- yandex importer engine. Don't change its code. Change is not recommended. rediffXMLParser.php- Contains code for parsing XML. All importer engine class containing three common functions, they are login($username,$password); Used for login get_address_page(); Used to get address page parser($str); Used to retreive contacts in two array, they are $email_array and $name_array When a webmail changes then we have to update our importer, we update that webmail's contact importer engine and send that to our clients. If hotmail.com changes then we update hotmail.php and send that. That's why we don't recommend that you to change the code for hotmai.php/gmai.php/yahoo.php or aol.php.
You can try this one also: http://www.super-tell-a-friend.com/ It is the best on the market, affordable and it has a lot of features. A live demo is available.