Contact Importer : Frequently Asked Questions
Here are brief explanations for some of the questions that you may have about Improsys :: Products :: Contact Importer.
- Why choose Improsys Contact Importer?
- Does the Hotmail Contact Importer use API or web scrapping?
- Are sources well documented?
- Is the PHP source code encrypted?
- How many files are in the PHP Contact Importer and what do they do?
- What is the update process for the PHP Version of Contact Importer?
- For how long I will receive free updates?
- How much is the update fee?
- How frequently do webmails change?
- How can I use the ASP Contact Importer component?
- What is the syntax of using ASP ContactImporter component in VB Script?
- What is the syntax for using the ContactImporter .Net component in VB.Net?
- What is the syntax for using the ContacImporter .Net component in C#?
- What is the syntax for using the ContactImporter component from Ruby?
- What is the syntax for using the ContactImporter component from Rails?
- What is the syntax for using the ContactImporter component in Cold Fusion?
- What is the syntax for using the ContactImporter component in Perl?
- What is the update process for the Contact Importer .Net component?
- When was Improsys Contact Importer released?
- How do you use Contact Importer JAVA in a Servlet?
- How do you use Contact Importer JAVA in a JSP page?
- What are the dependency libraries for contact importer?
- Are the dependency libraries included in the deliverable package?
- What is the minimum Jdk version for contact importer to work?
- Do you provide any web scraping resources for free?
Why choose Improsys Contact Importer?
Improsys is the first company in the world to introduce Contact Importer as a product.
Improsys has an extensive working experience with the Contacts Importer.
Improsys Contact Importer has been tested and trusted by many customers around the world.
Improsys Contact Importer is always updated and very easy to install and update.
Improsys has an Automated Products and Update Delivery System.
Improsys has a dedicated team working behind Contact Importer to constantly keep it running.
Does the Hotmail Contact Importer use API or web scrapping?
Hotmail contact importer uses both API and web scrapping. Actually we provide two versions. One uses API and the nother uses web scrapping for fetching contacts. If you need to use Contact Importer in a high traffic website, then the web scraping version is perfect for you.
Yes, the source code is documented and very easy to understand.
Is the PHP source code encrypted?
No, the PHP source code is not encrypted. You will get all lines of the code.
How many files are in the PHP Contact Importer and what do they do?
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
What is the update process for the PHP Version of Contact Importer?
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.
For how long I will receive free updates?
You will receive six month's worth of free updates after purchasing Contact Importer.
Please check Contact Importer : Update Service.
How frequently do webmails change?
Webmails changes at least once within two months. Sometimes they change twice in a week.
How can I use the ASP Contact Importer component?
It does not require having any ActiveX component installed. Just place the files in your server.
What is the syntax of using ASP ContactImporter component in VB Script?
Set cimp= server.CreateObject("IMPContactImporter.ContactImporter")
cimp.contactimporter(userId,password,host)
'Example:
'To access contacts from improsys@hotmail.com .
if(cimp.contactimporter("improsys", "123456",
"hotmail.com"))then
numberOfContacts=cimp.ContactsLength
'cimp.DisplayName is containing Names of contacts
'cimp.Email is containing emails of contacts
'To print all contacts
for i=0 to (numberOfContacts-1)
response.write("Name=" & cimp.DisplayName(i))
response.write("Name=" & cimp.Email(i))
next
else
response.Write "Invalid login"
end if
What is the syntax for using the ContactImporter .Net component in VB.Net?
Dim ci As New ContactImporter("email_id", "password", "email_type")
'Example:
'To access contacts from improsys@hotmail.com . example dim ci as new
'ContactImporter("improsys", "123456", "hotmail.com")
'To access contacts from improsys@gmail.com . example dim ci as new
'ContactImporter("improsys", "123456", "gmail.com")
'To access contacts from improsys@yahoo.com . example dim ci as new
' ContactImporter("improsys", "123456", "yahoo.com")
ci.login()
If ci.logged_in = True Then
ci.getcontacts()
'ci.nameArray is containing Names of contacts
'ci.emailArray is containing emails of contacts
'To print all contacts
Dim i As Integer
For i = 0 To ci.nameArray.Length
Response.Write("name=" & ci.nameArray(i))
Response.Write("email=" & ci.emailArray(i))
Next
Else
Response.Write("Incorrect Username or Password")
End If
What is the syntax for using the ContactImporter .Net component in C#?
ContactImporter ci=new ContactImporter("email_id","paasoword","email_type.com"); Example: //To access contacts from improsys@hotmail.com . example dim ci as newContactImporter("improsys","123456","hotmail.com")
//To access contacts from improsys@gmail.com . example dim ci as new
ContactImporter("improsys","123456","gmail.com")
//To access contacts from improsys@yahoo.com . example dim ci as new
ContactImporter("improsys","123456","yahoo.com")
ci.login();
if(ci.logged_in)
{
ci.getcontacts();
for(int i=0;i<emailArray.Length;i++)
{
Response.write(ci.nameArray[i]);
Response.write(ci.emailArray[i]);
}
}
What is the syntax for using the ContactImporter component from Ruby?
ci=Getway.new("email-id","password","email_type")
Example:
require 'Getway.rb'
#For improsys@hotmail.com
ci=Getway.new("improsys","123456","hotmail")
#For improsys@yahoo.com
ci=Getway.new("improsys","123456","yahoo")
#For improsys@gmail.com
ci=Getway.new("improsys","123456","gmail")
#For improsys@aol.com
ci=Getway.new("improsys","123456","aol")
result={}
result=ci.interface
if(result[:success]==true)
contacts=conts.get_contacts
if(contacts[0][:name].to_s!="" && contacts[0][:email].to_s!="")
for i in 0..(contacts.length-1)
print "Name: "+ contacts[i][:name].to_s+"\n"
print "Email: "+ contacts[i][:email].to_s+"\n"
end
else
print "No address found"
end
else
print "Invalid login"
end
What is the syntax for using the ContactImporter component from Rails?
1. Code in controller:
#The first line before the conrroller class:
require "Getway.rb"
#now in the index method
@result={:success=>""}
user_id="improsys"
password="123"
#For improsys@yahoo.com
type="yahoo"
#For improsys@hotmail.com
type="hotmail"
#For improsys@aol.com
type="aol"
#For improsys@gmail.com
type="gmail"
@result={:success=>""}
@conts = Getway.new(user_id,password,type)
@result=@conts.interface
if(@result[:success]==true)
@contacts=@conts.get_contacts
if(@contacts[0][:name].to_s!="" && @contacts[0][:email].to_s!="")
@len=@contacts.length
else
@len=0
end
end
- Code in the index.html.erb:
<% if(@result[:success]==true)
for i in 0..(@len-1)%>
Name= <%=(@contacts[i][:name]=="") ? "N/A":@contacts[i][:name]%><br>
Email= <%=(@contacts[i][:email]=="") ? "N/A":@contacts[i][:email]%><br><br>
<% end %>
<% end %>
What is the syntax for using the ContactImporter component in Cold Fusion?
<!---For improsys@yahoo.com-->
<cfset type="yahoo">
<cfset username="improsys">
<cfset password="123456">
<!---For improsys@hotmail.com-->
<cfset type="hotmail">
<cfset username="improsys@hotmail.com">
<cfset password="123456">
<!---For improsys@aol.com-->
<cfset type="aol">
<cfset username="improsys">
<cfset password="123456">
<!---For improsys@gmail.com-->
<cfset type="gmail">
<cfset username="improsys">
<cfset password="123456">
<cfset login=false>
<cfset EmArray=ArrayNew(1)>
<cfset NmArray=ArrayNew(1)>
<cfinclude template="#type#.cfm" />
<cfif #login# is true>
<cfset c=ArrayLen(EmArray) />
<cfloop index = "i" from = "1" to = #c#>
<cfoutput>Name= <cfif trim(NmArray[i]) is ""><i>NA</i><cfelse>#NmArray[i]#</cfif> </cfoutput><br>
<cfoutput>Email= #EmArray[i]# </cfoutput><br><br>
</cfloop>
<cfif ArrayLen(EmArray) is 0>
<h1>No address found</h1>
</cfif>
<cfelse>
<h1>Invalid login</h1>
</cfif>
What is the syntax for using the ContactImporter component in Perl?
#!/usr/local/bin/perl
use CGI qw(:standard);
use URI::Escape;
use WWW::Mechanize;
use HTTP::Cookies;
use Importer::Yahoo;
$importer = new Yahoo;
$username = "improsys";
$password = "123456";
if($importer->login($username,$password) eq "true")
{
my $str = $importer->get_address_page();
my @contacts = $importer->parser($str);
my $totalContact = @{@contacts[0]};
my $i=1;
foreach $contact (@{@contacts[0]})
{
print "Name: ".$contact."<br>";
print "Email: ".$contacts[1][$i-1]."<br><br>";
$i++;
}
if($totalContact eq 0)
{
print "No contact found.";
}
}
else
{
print "Invalid Login.";
}
print end_html;
What is the update process for the Contact Importer .Net component?
We will send you the updated dll and source code.
When was Improsys Contact Importer released?
We released Contact Importer in 2004 and have been distributing and maintaining it successfully ever since.
How do you use Contact Importer JAVA in a Servlet?
Sample code to use in a Servlet
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import improsys.contactimport.common.*;
public class ContactImporterServlet extends HttpServlet
{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
PrintWriter out = response.getWriter();
try
{
String site = request.getParameter("site");
String userid = request.getParameter("userid");
String password = request.getParameter("password");
if(site.compareToIgnoreCase("hotmail"==0)
{
userid = userid + "@hotmail.com";
}
FourInOne importer = new FourInOne(userid,password);
importer.setType(site);
importer.doLogin();
Contacts contacts[] = importer.getContacts();
StringBuffer outString = new StringBuffer("<table><tr><th>Name</th><th>Email</th></tr>");
for(int i=0;i<contacts.length;i++)
{
sb.append("tr><td>"+contacts[i].getName()+"</td><td>"+contacts[i].getEmailAddress()+"</td></tr>"
);
}
sb.append("<tr><td colspan=\"2\">Total
contacts found : " + contacts.length + "</tr></table>");
out.print(sb.toString());
}
catch(Exception e)
{
out.print("<strong>Exception caugth : </strong>"
+ e.getMessage());
}
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
}
How do you use Contact Importer JAVA in a JSP page?
<%@ page language="java" contentType="text/html" %>
<% String user = request.getParameter("user");
%>
<% String password = request.getParameter("password");
%>
<% String parser = request.getParameter("parser");
%>
<% String userId = "";%>
<%
if(user == null) user = "";
if(password == null) password = "";
if(parser == null) parser = "AOL"; //default
if( user != null && user.length() > 0
&& password != null && password.length()
> 0
&& parser != null && parser.length()
> 0
)
{
try
{
userId = user;
userId = user;
if(parser.equals("HOTMAIL"))
userId = user+"@hotmail.com";
improsys.contactimport.common.FourInOne imp = new improsys.contactimport.common.FourInOne(userId,
password);;
imp.setType(parser);
imp.doLogin();
if(!imp.isLoggedIn())
throw new Exception("Can not be logged in as "
+ user + " to " + parser.toLowerCase()+".com
with the given password.");
improsys.contactimport.common.Contact al[] = imp.getContacts();
if (al==null)
throw new Exception("Unable to parse contacts for
" + user + " at " + parser.toLowerCase()+".com");
%>
<table width="68%" border="0"
align="center" cellpadding="1" cellspacing="0"
bgcolor="#F2F1F0">
<tr>
<td width="100%">
<table border="0" align="center"
cellpadding="2" cellspacing="0">
<tr align="center" bgcolor="#99FFFF">
<td colspan="2"> <font color="#006699"
size="2" face="Arial, Helvetica, sans-serif">
<strong><%=parser%> Address Book for <%=user%><br>
</strong> <font face="Verdana, Arial,
Helvetica, sans-serif">
Total Address found <%=al.length%> </font>
</font> </td>
</tr>
<tr align="center" bgcolor="#99CCFF">
<td width="50%" align="left"
style="PADDING-LEFT: 12px"> <font color="#000066"
size="2" face="Arial, Helvetica, sans-serif">
<strong>Display Name</strong> </font>
</td>
<td width="50%" align="left"
bgcolor="#99CCFF" style="PADDING-LEFT:
12px">
<font color="#000066" size="2"
face="Arial, Helvetica, sans-serif">
<strong>Email ID</strong> </font>
</td>
</tr>
<%
//show others
for(int i=0; i < al.length; i++)
{
%>
<tr>
<td align="left" style="PADDING-LEFT:
12px">
<%
if(al[i].getEmailAddress().equals(""))
{
%>
<td align="left" style="PADDING-LEFT:
12px"> <font size="2" face="Verdana,
Arial, Helvetica, sans-serif">
<%if(al[i].getName().equals(""))
out.println("<i>NA</i>");
else
out.println(al[i].getName());
%>
</font>
</td>
<td style="PADDING-LEFT: 12px"> <font
size="2" face="Verdana, Arial, Helvetica,
sans-serif">
<%if(al[i].getEmailAddress().equals(""))
out.println("<i>NA</i>");
else
out.println(al[i].getEmailAddress());
%>
</font> </td>
</tr>
<%
}//for 1
if(al.length == 0)
{
%>
<tr align="center">
<td colspan="3" style="PADDING-LEFT:
12px"> <font size="2" face="Verdana,
Arial, Helvetica, sans-serif">
<em>No Address found.</em> </font>
</td>
</tr>
<%
}
}//try
catch(Exception e)
{
out.println("<p><div align=center><strong>"+e.getMessage()+"</strong></div></p>");
}
}//master if
%>
</table>
</table>
What are the dependency libraries for Contact Importer?
The following open source jakarta libraries are the only dependency for the contact-importer library :
- commons-httpclient-3.0.jar of Jakarta HttpClient 3.0
- commons-codec-1.3.jar of Jakarta Commons Code
- commons-logging-api.jar of Jakarta Commons Logging
Are the dependency libraries included in the deliverable package?
Yes, as the libraries used in contact importer are published under Apache 2.0 Licence, they can be distributed with commercial softwares. So, we packaged the required libraries in our deployment package for contact importer.
What is the minimum Jdk version for Contact Importer to work?
Jdk 1.4.2 or a higher version is required in order to get the Contact Importer working properly.
Do you provide any web scraping resources for free?
Yes, check out the article we published, Ins and Outs of Web Scraping
<< Go Back to Contact Importer Page >>