Library tutorials & articles
How to POP3 in C#
Retrieving Messages
Between the calls to Connect and Disconnect,
the client may call three other methods, List, Retrieve and Delete,
any number of times. The client will usually begin by calling our List method
to retrieve an array of messages that are queued on the POP3 server.
public ArrayList List()
{
string message;
string response;
ArrayList retval = new ArrayList();
message = "LIST\r\n";
Write(message);
response = Response();
if (response.Substring(0, 3) != "+OK")
{
throw new Pop3Exception(response);
}
while (true)
{
response = Response();
if (response == ".\r\n")
{
return retval;
}
else
{
Pop3Message msg = new Pop3Message();
char[] seps = { ' ' };
string[] values = response.Split(seps);
msg.number = Int32.Parse(values[0]);
msg.bytes = Int32.Parse(values[1]);
msg.retrieved = false;
retval.Add(msg);
continue;
}
}
}
After sending the LIST message to the POP3 server, the server
will respond with a +OK acknowledgement, followed by several lines
representing one message each and finally by a line with a single period indicating
the end of the messages. Each message line has two numbers, the first indicating
the unique number of the message and the second indicating the message size
in bytes.
Our List method will return a list of Pop3Message objects.
The objects will only contain the message number and size of each message.
In order to retrieve the full message, you can pass the message object to the Retrieve method.
The Retrieve method will then respond with another Pop3Message containing
the message content.
public Pop3Message Retrieve(Pop3Message rhs)
{
string message;
string response;
Pop3Message msg = new Pop3Message();
msg.bytes = rhs.bytes;
msg.number = rhs.number;
message = "RETR " + rhs.number + "\r\n";
Write(message);
response = Response();
if (response.Substring(0, 3) != "+OK")
{
throw new Pop3Exception(response);
}
msg.retrieved = true;
while (true)
{
response = Response();
if (response == ".\r\n")
{
break;
}
else
{
msg.message += response;
}
}
return msg;
}
To retrieve a message from a POP3 server, we send a RETR message
with the unique message number. The server then responds with the +OK acknowledgement,
the message content and finally the single period terminating line.
Related articles
Related podcasts
-
Moving your Email into the Cloud - Google for Apps and Live Custom Domains
Scott and Carl talk about Scott's Family's recent move to Google Apps and Carl considers moving to Live Custom Domains. What are the benefits of moving your life into the cloud?
As a professional VOB converter, Emicsoft VOB Converter is currently one of the best and most easy-to-use converter which can convert VOB videos to most popular video and audio formats with fast conversion speed and perfect sound & picture quality, such as VOB to MP3, VOB to M4A, VOB to WAV, VOB to AAC, VOB to AC3; VOB to DVD Video(.vob), DVD Video-NTSC(.vob), MPEG-1 Video(.mpg), MPEG-2 Video (.mpg), etc.
Emicsoft VOB Converter can not only play the role as a converter, moreover, it can also be used as a powerful editor, which provides a lot of professional video editing functions, such as merging several videos into one file, cutting any clip of your video, cropping the video size, editing video effect and so on. You can also set output profile parameters including resolution, bitrate, frame rate, aspect ratio to get the best video quality and video size.
How to convert VOB to other formats?
Emicsoft VOB Converter is so outstanding with powerful converting functions and editing functions that you can enjoy it as a good helper.
Emicsoft M2TS Converter is currently considered as one of the most professional conversion tool, due to its powerful function, user-friendly interface and easy-to-use operation design. It can achieve any video formats from M2TS to MPEG1, MPEG2, SWF, FLV, DivX, XviD, QuickTime Video, DV, AVI, MP4, WMV and HD videos, so as to make it available to sync M2TS to iPod, iPhone, PSP, BlackBerry and other mobile devices.
Emicsoft Tod Converter is an easy-to-use HD Video conversion tool which helps you convert HD video Tod to other formats like FLV, SWF, AVI, M4V, MOV, DivX, XviD, MPEG-1, MPEG-2, VOB, MP4, M4V, RM, RMVB, WMV, MKV, AVI, 3GP, HD video with high output quality and fast converting speed. Apart from as a HD video converter, it is also a audio converter and extractor, the Emicsoft Tod Converter can aid you to extract music from Tod video such as WAV, OGG, WMA, MP3 with good sound quality.
More softwares may help you: Emicsoft Video Converter Emicsoft FLV Converter Emicsoft MTS Converter
!--removed tag-->hi all ,I have tried
but it does't work ,the message is : "-ERR Cannot connect to POP server 206.190.46.10 (206.190.46.10:110), connect error 10060\r\n"
anyone can help ??
thanks riry
//----------------------------------------------- private void button1_Click(object sender, EventArgs e) { try { Pop3 obj = new Pop3(); obj.Connect("pop3.yahoo.com", "myusername", "mypassword"); ArrayList list = obj.List(); foreach (Pop3Message msg in list) { Pop3Message msg2 = obj.Retrieve(msg); System.Console.WriteLine("Message {0}: {1}", msg2.number, msg2.message); } obj.Disconnect(); } catch (Pop3Exception ex) { MessageBox.Show(ex.Message); } catch (System.Exception ex) { MessageBox.Show(ex.Message); } }
!--removed tag-->When i change the port to 587 from 110 i got the following error
220 mx.google.com ESMTP g14sm11215098rvb.54
!--removed tag-->Hi Got the following error when i try to call
obj.Connect("smtp.gmail.com", txtUser.Text, txtPass.Text);
A Connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host failed to respond 209.85.199.111: 110
Can any body please help me to fix this error?
!--removed tag-->Your code is too good. But in your code what happen If i send email today it display that email & tomarrow it show empty inbox. if i again send email it display that new mail only. And i also want to fetch Email subject,Email Body then what i do. Please give solution
!--removed tag-->