POP3传输过程

时间:2010-05-08 08:43:42

标签: c# .net winforms email pop3

我想知道是否有人可以帮助我(不使用代码,尽管可以理解),以及检查和检索来自POP3邮件服务器的邮件的逻辑。

Establish connection
Validate credentials
Enumerate message list
Check each message to see if it's "new"
Download "new" message(s).

这是正确的做法吗?

谢谢

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

看待这样的事情的最好方法是看看其他事情的作用。运行Wireshark或其他一些数据包捕获软件,并使用电子邮件客户端进行检查。无论如何,POP3会话的基础知识如下:

USER username
PASS password
LIST                <-- Shows the size of each waiting message
UIDL                <-- Shows a unique ID for each waiting message
RETR 1              <-- Retrieves message with index 1
DELE 1              <-- Deletes the message you just retrieved
QUIT

除RETR之外的所有响应的第一个字符将是+(成功)或 - (失败)。

如果您在检索邮件后从服务器上删除邮件,则无需使用UIDL。如果要离开它们,可以使用UIDL为本地存储的每条消息获取唯一ID,以显示您之前已检索到该消息。

有关详细信息,请参阅RFCWikipedia还列出了一个更深入的示例,显示了服务器响应。