Introduction
If you want to make your own Gmail Notifier, you are at the right place. Google does not have an official Gmail API. So, you have to exploit the Feed facility of Gmail to build our Gmail Notifier.
Background
Gmail Feed is a useful feature provided by Gmail using which we can subscribe to emails using a Feed Reader supporting authentification.
Using the Code
We first create a new instance of WebClient
class and then request feed from Gmail Using the Username and the Password as the networks parameters. So, we must exploit the Gmail Feed which is an ATOM feed. We have to parse the response as an XML file using the XmlDocument
as shown in the following code:
Imports System.Xml
Imports System.Text
Public Class LoginForm1
Private Sub OK_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles OK.Click
Dim objClient As New System.Net.WebClient
Dim nodelist As XmlNodeList
Dim node As XmlNode
Dim response As String
Dim xmlDoc As New XmlDocument
Try
objClient.Credentials = New System.Net.NetworkCredential_
(UsernameTextBox.Text.Trim, PasswordTextBox.Text.Trim)
response = Encoding.UTF8.GetString(objClient.DownloadData_
("https://mail.google.com/mail/feed/atom"))
response = response.Replace("<feed version=""0.3""
xmlns=""http://purl.org/atom/ns#"">", "<feed>")
xmlDoc.LoadXml(response)
node = xmlDoc.SelectSingleNode("/feed/fullcount")
mailCount = node.InnerText
If mailCount > 0 Then
ReDim emailFrom(mailCount - 1)
ReDim emailMessages(mailCount - 1)
nodelist = xmlDoc.SelectNodes("/feed/entry")
node = xmlDoc.SelectSingleNode("title")
For Each node In nodelist
emailMessages(tempCounter) = node.ChildNodes.Item(0).InnerText
emailFrom(tempCounter) = node.ChildNodes.Item(6).ChildNodes(0).InnerText
tempCounter += 1
Next
tempCounter = 0
End If
Me.Hide()
Form1.Show()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
End Class
This is the important part of our application. So now, you need to download the source code and try to compile it.
Any comments are welcome.