C# Tutorials and offshore development in India
    Tutorials   Resources   Forum   Communities   Interview   Jobs   Projects   Offshore Development    
Silverlight Tutorials | Mentor | Code Converter | Articles | Code Factory | Computer Jokes | Members | Peer Appraisal | IT Companies | Bookmarks | Revenue Sharing |


Prizes & Awards
My Profile



Active Members
TodayLast 7 Days more...

New Feature: Community Sites: Create your own .NET community website and start earning from Google AdSense ! It's Free !




Donwload mail in asp.net from pop3 client


Posted Date: 07 May 2008    Resource Type: Articles    Category: Web Applications
Author: rahulMember Level: Gold    
Rating: Points: 20



Create a form as follow
server name- text box
user name- textbox
password- textbox

(all textbox for input)

three button
connect, Disconnect, Retrieve

Again three textbox for displaying connection status ,message and uentring mail number.


public TcpClient Server;
public NetworkStream NetStrm;
public StreamReader RdStrm;
public string Data;
public byte[] szData;
public string CRLF = "\r\n";



Here's the code for when the Connect Button is clicked:

private void ConnectBtn_Click(object sender, System.EventArgs e)
{
// change cursor into wait cursor

Cursor cr = Cursor.Current;
Cursor.Current = Cursors.WaitCursor;

// create server POP3 with port 110

Server = new TcpClient(POPServ.Text,110);
Status.Items.Clear();

try
{
// initialization

NetStrm = Server.GetStream();
RdStrm= new StreamReader(Server.GetStream());
Status.Items.Add(RdStrm.ReadLine());

// Login Process

Data = "USER "+ User.Text+CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData,0,szData.Length);
Status.Items.Add(RdStrm.ReadLine());

Data = "PASS "+ Passw.Text+CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData,0,szData.Length);
Status.Items.Add(RdStrm.ReadLine());

// Send STAT command to get information ie: number of mail and size

Data = "STAT"+CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData,0,szData.Length);
Status.Items.Add(RdStrm.ReadLine());

// change enabled - disabled button

ConnectBtn.Enabled = false;
DisconnectBtn.Enabled = true;
RetrieveBtn.Enabled = true;

// back to normal cursor

Cursor.Current = cr;

}
catch(InvalidOperationException err)
{
Status.Items.Add("Error: "+err.ToString());
}
}
Here's the code for when the Disconnect Button is clicked:

private void DisconnectBtn_Click(object sender, System.EventArgs e)
{
// change cursor into wait cursor

Cursor cr = Cursor.Current;
Cursor.Current = Cursors.WaitCursor;

// Send QUIT command to close session from POP server

Data = "QUIT"+CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData,0,szData.Length);
Status.Items.Add(RdStrm.ReadLine());

//close connection

NetStrm.Close();
RdStrm.Close();

// change enabled - disabled button

ConnectBtn.Enabled = true;
DisconnectBtn.Enabled = false;
RetrieveBtn.Enabled = false;

// back to normal cursor

Cursor.Current = cr;
}
Here's code when Retrieve Button clicked:

private void RetrieveBtn_Click(object sender, System.EventArgs e)
{
// change cursor into wait cursor

Cursor cr = Cursor.Current;
Cursor.Current = Cursors.WaitCursor;
string szTemp;
Message.Clear();
try
{
// retrieve mail with number mail parameter

Data = "RETR "+ Number.Text+CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData,0,szData.Length);

szTemp = RdStrm.ReadLine();
if(szTemp[0]!='-')
{

while(szTemp!=".")
{
Message.Text += szTemp;
szTemp = RdStrm.ReadLine();
}
}
else
{
Status.Items.Add(szTemp);
}

// back to normal cursor

Cursor.Current = cr;

}
catch(InvalidOperationException err)
{
Status.Items.Add("Error: "+err.ToString());
}

}




Responses

Author: Sebastian    13 Jun 2008Member Level: Gold   Points : 1
This is very informative. Thanks for sharing the details.


Feedbacks      
Popular Tags   What are tags ?   Search Tags  
(No tags found.)

Post Feedback


This is a strictly moderated forum. Only approved messages will appear in the site. Please use 'Spell Check' in Google toolbar before you submit.
You must Sign In to post a response.
Next Resource: How to disable and color a specific date Range on calendar control
Previous Resource: Auto resizing the text to a fixed cell width in Asp.net
Return to Discussion Resource Index
Post New Resource
Category: Web Applications


Post resources and earn money!
 
Related Resources



dotNet Slackers   BizTalk Adaptors    Web Design


Contact Us    Privacy Policy    Terms Of Use