Reading mails from gmail account in asp.net
i want to read the mails from gmail account.. i tried to login.. and was successfull.. but unable to get the mails from the inbox.. below is the code i used for logging in...
try
{
TcpClient tcpclient = new TcpClient(); // create an instance of TcpClient
tcpclient.Connect("pop.gmail.com", 995); // HOST NAME POP SERVER and gmail uses port number 995 for POP
System.Net.Security.SslStream sslstrea开发者_如何学JAVAm = new SslStream(tcpclient.GetStream()); // This is Secure Stream // opened the connection between client and POP Server
sslstream.AuthenticateAsClient("pop.gmail.com"); // authenticate as client
//bool flag = sslstream.IsAuthenticated; // check flag
System.IO.StreamWriter sw = new StreamWriter(sslstream); // Asssigned the writer to stream
System.IO.StreamReader reader = new StreamReader(sslstream); // Assigned reader to stream
sw.WriteLine("username@gmail.com"); // refer POP rfc command, there very few around 6-9 command
sw.Flush(); // sent to server
sw.WriteLine("password");
sw.Flush();
sw.WriteLine("RETR 1"); // this will retrive your first email
sw.Flush();
sw.WriteLine("Quit "); // close the connection
sw.Flush();
string str = string.Empty;
string strTemp = string.Empty;
while ((strTemp = reader.ReadLine()) != null)
{
if (strTemp == ".") // find the . character in line
{
break;
}
if (strTemp.IndexOf("-ERR") != -1)
{
break;
}
str += strTemp;
}
Response.Write(str);
Response.Write("" + "Congratulation.. ....!!! You read your first gmail email ");
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
can anyone please tell me how can i get the actual mails from the inbox.
Have you had a look at Mail.net, I have not had need to use it myself but I here good things about it.
Cheers
- You should read server responses as soon as you issue a command.
- You have not logged in to Gmail successfully - you should use POP3 commands like USER, PASS
- Your code fails if email contains "-ERR" text
- str += strTemp; is going to kill your app when you revive email with a large attachment
I'd recommend not reinventing the wheel - there are libraries for POP3 access.
精彩评论