A universal interface to import email contacts from various providers including Yahoo, Gmail, Hotmail, AOL and Plaxo.
#1 Compare This branch is 14 commits ahead, 9 commits behind cardmagic:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore Mail.ru integration Aug 27, 2010
README Update to handle google captcha better, thanks justintv. Bump to v1.2.3 Jan 26, 2010
Rakefile updated to use new gdata gem and set exact version Nov 11, 2009
cruise_config.rb Added test suites, fixed Gmail failing tests, Mar 3, 2009
geminstaller.yml Fixes AOL import bug when a contact's name as a double-quote in it Jun 13, 2011


== Welcome to Contacts

Contacts is a universal interface to grab contact list information from various providers including Hotmail, AOL, Gmail, Plaxo and Yahoo.

== Download

* gem install contacts
* http://github.com/cardmagic/contacts
* git clone git://github.com/cardmagic/contacts.git

== Background

For a long time, the only way to get a list of contacts from your free online email accounts was with proprietary PHP scripts that would cost you $50. The act of grabbing that list is a simple matter of screen scrapping and this library gives you all the functionality you need. Thanks to the generosity of the highly popular Rails website MOG (http://mog.com) for allowing this library to be released open-source to the world. It is easy to extend this library to add new free email providers, so please contact the author if you would like to help.

== Usage

	Contacts::Hotmail.new(login, password).contacts # => [["name", "foo@bar.com"], ["another name", "bow@wow.com"]]
	Contacts::Yahoo.new(login, password).contacts
	Contacts::Gmail.new(login, password).contacts
	Contacts.new(:gmail, login, password).contacts
	Contacts.new(:hotmail, login, password).contacts
	Contacts.new(:yahoo, login, password).contacts
	Contacts.guess(login, password).contacts

Notice there are three ways to use this library so that you can limit the use as much as you would like in your particular application. The Contacts.guess method will automatically concatenate all the address book contacts from each of the successful logins in the case that a username password works across multiple services.

== Captcha error

If there are too many failed attempts with the gmail login info, Google will raise a captcha response. To integrate the captcha handling, pass in the token and response via:

  Contacts::Gmail.new(login, password, :captcha_token => params[:captcha_token], :captcha_response => params[:captcha_response]).contacts

== Examples

See the examples/ directory.

== Authors

* Lucas Carlson from MOG (mailto:lucas@rufy.com) - http://mog.com

== Contributors

* Britt Selvitelle from Twitter (mailto:anotherbritt@gmail.com) - http://twitter.com
* Tony Targonski from GigPark (mailto:tony@gigpark.com) - http://gigpark.com
* Waheed Barghouthi from Watwet (mailto:waheed.barghouthi@gmail.com) - http://watwet.com
* Glenn Sidney from Glenn Fu (mailto:glenn@glennfu.com) - http://glennfu.com
* Brian McQuay from Onomojo (mailto:brian@onomojo.com) - http://onomojo.com
* Adam Hunter (mailto:adamhunter@me.com) - http://adamhunter.me/
* Glenn Ford (mailto:glenn@glennfu.com) - http://www.glennfu.com/
* Leonardo Wong (mailto:mac@boy.name)
* Rusty Burchfield
* justintv

This library is released under the terms of the BSD.