C# 在pop3帐户出错时重新处理电子邮件
我有一个从pop3帐户读取电子邮件的应用程序。当我连接到该帐户时,我会下载所有新电子邮件并处理正文和附件 如果处理其中一封电子邮件时出错,我希望下次连接时再次下载,但由于我只收到新的电子邮件,而失败的一封已经下载,因此我无法再尝试处理C# 在pop3帐户出错时重新处理电子邮件,c#,email,pop3,C#,Email,Pop3,我有一个从pop3帐户读取电子邮件的应用程序。当我连接到该帐户时,我会下载所有新电子邮件并处理正文和附件 如果处理其中一封电子邮件时出错,我希望下次连接时再次下载,但由于我只收到新的电子邮件,而失败的一封已经下载,因此我无法再尝试处理 我可以使用任何pop3命令执行此操作,还是必须在本地存储失败的电子邮件?只要下载邮件后您没有删除邮件,它们应该保留在服务器上,以便您可以再次检索它们。换句话说,这应该在默认情况下发生。有关详细信息,请参阅 您使用的POP3客户端库是什么 编辑:我想可能是您的POP
我可以使用任何pop3命令执行此操作,还是必须在本地存储失败的电子邮件?只要下载邮件后您没有删除邮件,它们应该保留在服务器上,以便您可以再次检索它们。换句话说,这应该在默认情况下发生。有关详细信息,请参阅 您使用的POP3客户端库是什么 编辑:我想可能是您的POP3服务器在您检索邮件一次后删除了邮件,尽管这相当粗鲁。在GMail这样的免费POP3服务器上运行客户机代码,看看它是否有任何不同,这可能会很有趣 如果您没有对POP3连接进行SSL加密,那么运行SSL查看客户端和服务器之间的网络上到底发生了什么也可能是一件有趣的事情。(POP3是一种纯文本协议,通过查看网络跟踪很容易理解。)要使用Wireshark,请在“捕获”菜单下,选择“选项”,确保选择了界面,输入“tcp端口110”的捕获筛选器,然后按开始
如果您愿意发布您的客户端代码,我们可能会提供更多帮助。只要您在下载邮件后没有删除邮件,它们应该保留在服务器上,以便您可以再次检索它们。换句话说,这应该在默认情况下发生。有关详细信息,请参阅 您使用的POP3客户端库是什么 编辑:我想可能是您的POP3服务器在您检索邮件一次后删除了邮件,尽管这相当粗鲁。在GMail这样的免费POP3服务器上运行客户机代码,看看它是否有任何不同,这可能会很有趣 如果您没有对POP3连接进行SSL加密,那么运行SSL查看客户端和服务器之间的网络上到底发生了什么也可能是一件有趣的事情。(POP3是一种纯文本协议,通过查看网络跟踪很容易理解。)要使用Wireshark,请在“捕获”菜单下,选择“选项”,确保选择了界面,输入“tcp端口110”的捕获筛选器,然后按开始
如果您愿意发布您的客户代码,我们可能会提供更多帮助。谢谢!我在用莱斯尼科夫斯基图书馆。但是,你不从服务器上删除电子邮件并不意味着你会一次又一次地收到它们。一旦我收到一封电子邮件,我就不会再从帐户中收到它了:-(+1谢谢你。我正在使用SSL(针对GMAIL进行测试)。我的客户端代码不是很有趣,正如我告诉你的,我正在使用第三方库,所以我只需要执行Connect()Login()GetAccountStat()GetMessage()Close()。该库是。顺便说一句:邮件仍在收件箱中,但我一收到邮件就不会再收到它们,就像Outlook的任何电子邮件客户端一样。谢谢!我使用的是Lesnikowski库。但是,你不从服务器删除邮件并不意味着你会一次又一次地收到它们。一旦我收到电子邮件,我就不明白了再次来自帐户:-(+1谢谢你。我正在使用SSL(针对GMAIL进行测试)。我的客户端代码不是很有趣,正如我告诉你的,我正在使用第三方库,所以我只需要执行Connect()Login()GetAccountStat()GetMessage()Close()。库是。顺便说一句:邮件仍然在收件箱中,但我一收到邮件就不会再收到它们,这与Outlook的任何电子邮件客户端的行为相同。