VS.NET 2010 (and above) Users Click Here   

HOMECONTACT PRODUCTS DOWNLOADS PURCHASE TESTIMONIALS FORUMS COMPANY CONTACT
Home
Products
Downloads
Purchase
Licensing
Licensing FAQ
Software Updates
Support Forums
Testimonials
Feature Requests
Guarantee
About Us
Contact Us
Hosting Companies
Privacy Policy
   
Shopping Cart


Search

Downloading email using aspNetPOP3 from Gmail

by Dave 2. March 2011 02:15

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

 

 

Moving email in aspNetPOP3 across folders

by Dave 14. February 2011 04:38

I had a great question from Robert today.  He sent me the following question:

We are currently testing the aspNetPOP3 product. I might be missing the obvious, but I didn’t find where I could get an email, and then move it to a folder. Is this possible?

That's a great question. Usually someone will ask this, or a similar question every few months.

aspNetPOP3 implements the POP3 protocol. Everything that is possible by the POP3 protocol, is possible in aspNetPOP3. 

As far as internet standards go, the POP3 protocol is pretty old. POP3 stands for Post Office Protocol version 3.  It was developed in 1984. 

POP3 has no concept of folders. In the POP3 (and consequently aspNetPOP3) world, there is only the Inbox.  When you see additional folders in POP3 mail clients (such as Outlook, Outlook Express, Eudora, etc..) when you are actually seeing is a client side feature/functionality.  When you move an email from the Inbox to a different folder, what your mail client is actually doing is deleting the message from the server, and moving the message to a local folder. Once that happens, it is no longer accessible via the POP3 protocol.

The same thing happens with webmail clients such as Gmail. (Although, gmail is a little different because it implements something called labels.) . Once the message is moved to a different folder (or label) in the webclient, you no longer have access to that message. Using the POP3 protocol, you can only get at messages in the Inbox.

Once again, great question Robert.

If anyone else has any other questions, comments or feedback relating to aspNetPOP3, feel free to contact me.

Thanks!
Dave Wanta

 

 

Testimonial

Tried the fix you directed me to on the FAQ/KB page. It worked fine. Thanks for your prompt assistance. I have no doubt that we will be evaluating, and likely purchasing, your POP3 product next. "

B.A. Lewis U.S. Army

Read more testimonials
ListNanny aspNetDNS aspNetEmail aspNetPOP3 aspNetMX IPMuncher aspNetMIME aspNetPING aspNetTraceRoute aspNetIMAP aspNetMHT