我想从Gmail收到最新的电子邮件,但我无法通过此计划获得。 我有一封来自Gmail的新电子邮件,但我的程序显示了另一封电子邮件。
private void button5_Click(object sender, EventArgs e)
{
Cursor cr = Cursor.Current;
Cursor.Current = Cursors.WaitCursor;
try
{
TcpClient tcpclient = new TcpClient();
tcpclient.Connect("pop.gmail.com", 995);
System.Net.Security.SslStream sslstream = new SslStream(tcpclient.GetStream());
sslstream.AuthenticateAsClient("pop.gmail.com");
System.IO.StreamWriter sw = new StreamWriter(sslstream);
System.IO.StreamReader reader = new StreamReader(sslstream);
sw.WriteLine("USER MyGmail");
sw.Flush();
sw.WriteLine("PASS MyGmailPass");
sw.Flush();
sw.WriteLine("STAT");
sw.Flush();
sw.WriteLine("RETR 1\r\n");
sw.Flush();
}
}
答案 0 :(得分:1)
RETR
命令用于下载指定索引的消息(从1开始,而不是从0开始)。
RETR 1
检索消息假脱机中的第一条(也就是最旧的)消息,而不是最新消息。
如果您希望最新电子邮件到达您的GMail帐户,您需要先了解您的假脱机中有多少邮件。
我可以问你为什么要编写自己喜欢的程序,而不是使用像MailKit这样的库吗?它会让你的生活变得更加轻松。