Introduction:
Most of the time our clients
need to use their email contacts from their application, they believe in the
good application which reduces their effort to go other websites, they know
everything can not be possible to implement but not impossible, so here
requirement comes to implement a section to import contacts from Gmail and send
email to the selected email id from the asp.net application.
A good application is one who can complete your all or
maximum work from one browser window or from one application.
I tried here to describe “Import
Gmail contacts in ASP.Net”.Hope I ll explain it here in a better way so
that everyone facing this issue can done this like the way I done.
Requirement:
We all know while
the implementation of any third party tool in ASP.net we need concerned dlls to
add references in the application.
To import Gmail contacts in ASP.net application we need to
download “Google API setup” from the
below link
This link ll download following dll’s in to your PC :
- Google.GData.Apps.dll
- Google.GData.Client.dll
- Google.GData.Contacts.dll
- Google.GData.Extensions.dll
- When you got these dll’s on your PC we need to add these to our application.
Add references in to your application by right click ->
add reference ->Browse dll’s -> OK
Source Code:
Add below source code to create a design like I created :
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Import gmail contacts in to asp.net | Neha Sharma</title>
<style type="text/css">
.auto-style1 {
height: 26px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<table align="center" style="height: 104px; width: 301px; background-color: #F0F0F0">
<tr>
<td>
Gmail ID</td>
<td>
<asp:TextBox ID="txtgmailusername" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="auto-style1">
Password</td>
<td class="auto-style1">
<asp:TextBox ID="txtpassword" runat="server" TextMode="Password"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Button ID="Button1" runat="server" Text="Get" OnClick="Button1_Click" />
</td>
<td>
</td>
</tr>
<tr>
<td colspan="2">
You have below contacts in Gmail ID</td>
</tr>
<tr>
<td colspan="2">
<asp:GridView ID="gridemails" runat="server">
<EmptyDataTemplate>
You dont have any contacts yet.
</EmptyDataTemplate>
</asp:GridView>
</td>
</tr>
</table>
</div>
<div>
<%--<asp:DropDownList ID="ddlemails"
runat="server"></asp:DropDownList>--%>
</div>
</form>
</body>
</html>
Code behind :
Add the
following namespaces first :
using Google.GData.Contacts;
using Google.GData.Client;
using Google.GData.Extensions;
using Google.Contacts;
using System.Data;
using System.Data.SqlClient;
Now
,
public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
public DataSet GetGmailContacts(string p_name, string e_id, string psw)
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
DataColumn dc = new DataColumn();
dc.DataType = Type.GetType("System.String");
dc.ColumnName = "emailid";
dt.Columns.Add(dc);
RequestSettings rs = new RequestSettings(p_name, e_id, psw);
rs.AutoPaging = true;
ContactsRequest cr = new ContactsRequest(rs);
Feed<Contact> f = cr.GetContacts();
foreach (Contact t in f.Entries)
{
foreach (EMail email in t.Emails)
{
DataRow dr1 = dt.NewRow();
dr1["emailid"] =
email.Address.ToString();
dt.Rows.Add(dr1);
}
}
ds.Tables.Add(dt);
return ds;
}
public void getcontacts()
{
DataSet ds = GetGmailContacts("MyNetwork
Web Application!", txtgmailusername.Text,
txtpassword.Text);
gridemails.DataSource = ds;
gridemails.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
getcontacts();
}
}
Save
the whole work and run the page
Thanks
hi neha,it's a very nice article.i found it very good.
ReplyDeletebut i want to import contacts from gmail,yahoo,hotmail etc.
do you have any source code for that?
thanks and regards
sushant
hi,thx for your nice words but you can try by chnaging the smtp here..........first try then let me know the reponse and problems.
ReplyDeleteAll the best!
I am using this code and it is running better in the local machine but creating the problem on the server. Please advise me which types of setting I need for the server
ReplyDelete