我试图使用OpenPop.Net收到新电子邮件。我看到this示例,并注意到此示例假设当我们连接到pop客户端时,电子邮件索引(ID)不会更改(当使用索引来获取新电子邮件时)。
for(int i = 0; i<uids.Count; i++)
{
//...
//then
Message unseenMessage = client.GetMessage(i + 1);
//...
}
但是我们可能会收到新的电子邮件。
即使我们收到新的电子邮件,这个假设是否正确?
编辑:我不谈UID。我的意思是,我们使用for
循环来获取带有client.GetMessage(i)
的第i个新电子邮件,但是如果我们在循环中收到新电子邮件并且它会更改索引(此新电子邮件可以发送由client.GetMessage(1)
)。这并不意味着我们丢失了一封电子邮件或连接的客户端这个新的电子邮件会忽略吗?
答案 0 :(得分:0)
是,收到新邮件时,不会更改现有邮件UID。否则该技术将无法运作。
我不知道这与你的问题标题有什么关系。它不应该忽略新电子邮件。但是,您可能必须从头开始重新扫描电子邮件以查找新电子邮件。
答案 1 :(得分:0)
POP3协议的工作方式是在您注销并重新登录之前忽略新邮件。
换句话说,当您对服务器进行身份验证时,客户端看到的是您第一次登录时的快照。为了查看新消息,您需要重新连接。