aspNetPOP3 can easily fetch email from Gmail. To do this you must do the following:
a) Configure POP3 access in Gmail
b) Download the AdvancedIntellect.Ssl.dll from http://www.advancedintellect.com/download.aspx
c) Use aspNetPOP3 over SSL at port 995 to connect.
Lets discuss this below.
Configure POP3 access in Gmail
Before you can access email, you must first configure POP3 in Gmail. To do this, log into Gmail, and click on the settings tab. You should see something similar to what is below. Basically, you want select "Enable POP3 email".
You have a couple of different options. For example, when you connect over POP3 you can have Gmail behave like:
a) Keep the email in the Inbox
b) Mark the email as read, and kept in the Inbox
c) Archive the Message
d) Delete the Message
It's important to realize that in the POP3 protocol, there is only the Inbox. The POP3 protocol does not recognize any concept of mail folders. Thus, it's impossible to navigate or change to a different folder.
Download the AdvancedIntellect.Ssl.dll
Once you have POP3 configured in Gmail, you need to download the AdvancedIntellect,Ssl.dll plugin to use with aspNetPOP3. You can download the dll from:
http://www.advancedintellect.com/download.aspx
Gmail only allows you to connect over POP3 using SSL. The AdvancedIntellect,Ssl.dll allows you to do this.
Use aspNetPOP3 over SSL at port 995 to connect.
Once you've downloaded the dll, you can integrate it into your project.
If you are using VS.NET, import the dll into your application, and set a reference to it.
If you are not using VS.NET, you should be able to just copy the dll to your /bin directory.
Once that is done, the following code example will get you started. This example simply downloads the message count from your inbox, and loops through the headers of the individual messages.
C#
POP3 pop = new POP3( "pop.gmail.com" ); //create and load the ssl socket AdvancedIntellect.Ssl.SslSocket ssl = new AdvancedIntellect.Ssl.SslSocket(); pop.LoadSslSocket( ssl ); //logging on the ssl socket (not required) ssl.Logging = true; ssl.LogPath = "c:\\ssl.log"; //some logging in case we have any problems (not required) pop.LogPath = "c:\\gmailpopop.log"; //rest of the POP3 properties pop.Port = 995; pop.Username = "MyAccount@gmail.com"; pop.Password = "MyPassword"; pop.Connect(); //get the message count as an example int count = pop.MessageCount(); Response.Write( count.ToString() ); for( int i=0;i<count;i++) { string headers = pop.GetHeaders(i); //Process the Headers using a custom method DoWork( headers ); }
pop.Disconnect();
VB.NET
Dim pop As New POP3("pop.gmail.com") 'create and load the ssl socket Dim ssl As New AdvancedIntellect.Ssl.SslSocket() pop.LoadSslSocket(ssl) 'logging on the ssl socket (not required) ssl.Logging = True ssl.LogPath = "c:\ssl.log" 'some logging in case we have any problems (not required) pop.LogPath = "c:\gmailpopop.log" 'rest of the POP3 properties pop.Port = 995 pop.Username = "MyAccount@gmail.com" pop.Password = "MyPassword" pop.Connect() 'get the message count as an example Dim count As Integer = pop.MessageCount() Response.Write(count.ToString()) Dim i As Integer For i = 0 To count - 1 Dim headers As String = pop.GetHeaders(i) 'Process the Headers using a custom method DoWork(headers) Next i pop.Disconnect()
As always, if anyone has any questions, feel free to contact me over at the Contact Us web page.
Thanks,
Dave Wanta