Contacts Importer (Address Book Grabber)
Webmail Contacts Importer

How it works...

The best way to generate genuine traffic is by referrals, and our unique importer script helps you do just that.

Your visitors simply provide their email address and password and our script fetches a list of contacts as an array.. Your application can then choose to send emails to these contacts, store them in your database, match them to existing members, etc.

Try our demo

 

Easy Integration for PHP, .NET, Java, Ruby & ColdFusion (and others)

Get up and running in just 5 minutes! See how. Available for PHP, .NET, Java, Ruby and ColdFusion. Well-thought architecture ensures you are able support new webmails without changing a single line of your code!

We've also included a "Unified Inviter Component" for the PHP version, making it much easier for you to integrate it into any PHP applications. All you need to do is

  1. Customize the message that you will be sending
  2. Optionally override the existing mail sending function (which uses PHP's mail() function to send emails by default)
  3. Call a single PHP function - "oz_render_inviter()" to render the component in your application.

 

Ready Integration with Third Party Apps!

Our PHP library supports the following third party apps through plugins/mods bundled with the distribution

  • JomSocial
  • PhpFox 1.5/1.6
  • SocialEngine 3.x
  • Elgg 1.1
  • PHPizabi
  • Dolphin 6.1x
  • VBulletin
  • Joomla
  • Drupal
  • WordPress
  • And more coming!

Growing list of available mods/plugins available here.

 

Largest Webmail Support

We support all major webmail systems, and are usually the first to support new systems. Our list of supported webmails is growing by the day. See our full list here. Support for new webmail is provided free of charge in our periodic updates.

See what our clients are saying.

Webmails supported (depending on bundle)

  • Hotmail
  • MSN Mail
  • Hotmail Live
  • Yahoo mail (incl. Ymail & Rocketmail)
  • Gmail
  • AOL
  • Lycos (including international Lycos.co.uk)
  • MobileMe (previously .Mac)
  • Mail.com (and all its domain variants)
  • FastMail.FM (and all its domain variants)
  • Rediffmail
  • Indiatimes
  • GMX
  • IcqMail
  • Web.de
  • MyNet.com
  • Mail.ru
  • Freenet.de
  • Libero.it
  • Rambler.ru
  • Yandex.ru
  • Onet.pl
  • Interia.pl
  • Wp.pl
  • Plaxo
  • Data.bg
  • Daum.net
  • Naver.com
  • Email.It
  • Alice.it
  • Virgilio.it
  • Terra.es
  • Orangemail.es
  • MySpace address book
  • Outlook
  • Outlook Express
  • Thunderbird

See Also...

Features & Benefits

  • Out of the box integration!
    We support PhpFox, VBulletin, SocialEngine, and more! Growing list of available mods/plugins available here.

  • Uses Webmail APIs
    We utilize official webmail APIs where available, ensuring functionality does not break even if user interface of webmail changes.

  • Secure
    The only traffic going through the library is that between your server and the web mail servers. We do not intercept or capture any of your traffic.

  • Even the big guys use our libraries
    Some of the large social networks that you know are even using us. That speaks volumes by itself.

  • Support for all major webmails
    We support all major webmails, and are usually the first to support new systems. Support for new webmails is bundled with updates, free of charge!

  • Support for Outlook, Outlook Express, Mozilla Thunderbird and Apple vCard!
    We also include CSV/LDIF/vCard parsers for Outlook, Outlook Express and Mozilla Thunderbird for free (with the all webmail package only) !

  • Available for PHP (4 & 5), .NET framework, Java, Ruby and ColdFusion
    It's your choice, and its PHP 5 compatible as well.

  • Works in PHP safe mode!

  • Easy to use and integrate.
    Get up and running in just 5 minutes! PhpFox support is built-in!

  • Sound architecture
    Our codes are designed based on OOP principles, with detailed error messages enabling you to know the difference between server failures, or bad user name / password.

  • Multiple Local IP Address Support
    If your server runs on multiple IP addresses, our code allows you to dynamically bind to different IP addresses on your local network (PHP and Java only for now)

  • Documentation & sample code provided
    Manual and sample code is provided to allow you to have a jumpstart at integrating

  • Supports international domain extensions (.co.uk, .com.au, etc) and unicode (non-English) names
    We support international domain names (yahoo.co.uk, hotmail.co.uk, etc) and even extraction of non-English names in your address book.

  • Fast, optimized & network-efficient code.
    Return results quickly, and reduce your server bandwidth usage. We make use of compressed HTTP and Keep-Alives to give you the fastest response possible.

  • And not forgetting
    • Proven technology, ideal for web hosted sites
    • Our commitment to excellent support
    • Frequent updates !

 

 

 

 

System Requirements

 

Platform Requirements What is included
PHP
  • PHP 4.3 or higher
  • cURL 7.1 or higher (7.10 or higher required for compression support)
  • Download this PHP script to determine if your server supports the Address Book Importer!
Core library scripts, sample codes, documentation
.NET Core library DLLs, sample codes, documentation
Java
  • JDK 1.4.2 or higher
Core library JARs, sample codes, documentation
Ruby
  • Ruby 1.8.4 or higher (Tested with 1.8.x and 1.9)
  • Json, htmlentities. To install, issue the following command
    • gem install htmlentities
    • Either "gem install json" or "gem install json_pure". Try using the pure Ruby JSON library if native version is giving you problems.
Core library scripts, sample codes, documentation
ColdFusion
  • ColdFusion MX. No external library/modules required.
  • Tested on ColdFusion MX 7 & 8
Core library files, sample codes, documentation

 

Sample Codes

PHP
include_once("abimporter/abi.php");
$obj = new AddressBookImporter;
$res = $obj->fetchContacts($email,$pass);
if ($res==_ABI_AUTHENTICATION_FAILED) {
	echo 'Bad user name or password';
}
else if ($res==_ABI_FAILED) {
	echo 'Server error';
}
else if ($res==_ABI_UNSUPPORTED) {
	echo 'Unsupported webmail';
}
else {
	foreach ($res as $contact) {
		$name = $contact->name;
		$email = $contact->email;
		echo htmlentities($name).' <'.htmlentities($email).'>
'; } }
.NET
using System;
using System.Collections.Generic;
using System.Text;
using Octazen.AddressBook;
using Octazen.Http;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            string email = "myaccount@gmail.com";
            string pass = "mypassword";
            List cl = 
                SimpleAddressBookImporter.FetchContacts(email, pass);
            foreach (Contact contact in cl)
                Console.WriteLine(contact.Name+ " <" + contact.Email + ">");
        }
        catch (UnsupportedAddressBookException e)
        {
            Console.WriteLine("Unsupported webmail");
        }
        catch (AddressBookAuthenticationException e)
        {
            Console.WriteLine("Authentication failed - " + e.Message);
        }
        catch (Exception e)
        {
            Console.WriteLine("Server error - " + e.Message);
            Console.WriteLine(e.StackTrace);
        }
    }
}
Java
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import octazen.addressbook.AddressBookAuthenticationException;
import octazen.addressbook.AddressBookException;
import octazen.addressbook.Contact;
import octazen.addressbook.SimpleAddressBookImporter;
import octazen.addressbook.UnexpectedFormatException;
import octazen.addressbook.UnsupportedAddressBookException;
import octazen.http.HttpException;

public class TestImporter {
    public static void main(String[] args) {
        try {
            String email = "myaccount@gmail.com";
            String pass = "mypassword";

            List list = 
                SimpleAddressBookImporter.fetchContacts(email, pass);
            Iterator it = list.iterator();
            while (it.hasNext()) {
                Contact contact = (Contact) it.next();
                System.out.println(contact.getName() 
                    + " <"+ contact.getEmail() + ">");
            }
            } catch (AddressBookAuthenticationException e) {
                System.err.println("Sorry, bad user name or password");
            } catch (UnexpectedFormatException e) {
                System.err.println("Server error. Received unexpected content");
            } catch (UnsupportedAddressBookException e) {
                System.err.println("Unsupported webmail");
            } catch (AddressBookException e) {
                System.err.println("Unsupported webmail / internal error");
            } catch (IOException e) {
                System.err.println("IO exception:" + e.getMessage());
            } catch (HttpException e) {
                System.err.println("General http error");}
    }
}

Ruby
require 'abimporter/abi'
begin
  puts "Please enter your email address. Append .plaxo\r\nto end of email address for Plaxo imports : "
  email = gets().strip
  
  puts "Please enter your email password: "
  pass = gets().strip
  
  al = Octazen::SimpleAddressBookImporter.fetch_contacts(email,pass)
  
  al.each do |contact|
    email = contact.email
    name = contact.name
    puts "Email=#{email}, Name=#{name}"
  end

rescue Octazen::AuthenticationError => err
  puts "Bad user name or password"

rescue Octazen::UnexpectedFormatError => err
  puts "Server returned unexpected data"

rescue Octazen::CaptchaError => err
  puts "Captcha challenge issued by server"

rescue Octazen::UserInputRequiredError => err
  puts "Need to answer some questions in the webmail service"

rescue Octazen::UnsupportedAddressBookError => err
  puts "Not a supported address book"
  
rescue Octazen::AddressBookError => err
  puts "General error"
	
end