C# 什么是「;“正确”;如何使用MailKit?

C# 什么是「;“正确”;如何使用MailKit?,c#,mailkit,C#,Mailkit,我在玩MailKit,我想知道什么是正确的使用方法 我希望我的应用程序在启动时同步收件箱中的所有电子邮件,一旦同步完成,应用程序将侦听传入的电子邮件,同时我可以将其他电子邮件从收件箱移动到另一个子文件夹 我发现ImapClient需要处于“空闲”模式才能侦听传入的电子邮件,而当您要在文件夹之间移动电子邮件时,必须退出空闲模式 为同一个邮件帐户创建两个客户端连接有意义吗?一个进入空闲模式并侦听新的传入邮件,另一个对帐户中的邮件进行操作???您可以这样做,或者在新邮件到达时停止空闲,移动需要移动的任

我在玩MailKit,我想知道什么是正确的使用方法

我希望我的应用程序在启动时同步收件箱中的所有电子邮件,一旦同步完成,应用程序将侦听传入的电子邮件,同时我可以将其他电子邮件从收件箱移动到另一个子文件夹

我发现ImapClient需要处于“空闲”模式才能侦听传入的电子邮件,而当您要在文件夹之间移动电子邮件时,必须退出空闲模式



为同一个邮件帐户创建两个客户端连接有意义吗?一个进入空闲模式并侦听新的传入邮件,另一个对帐户中的邮件进行操作???

您可以这样做,或者在新邮件到达时停止空闲,移动需要移动的任何邮件,然后重新进入空闲模式。

您可以这样做,或者在新邮件到达时停止空闲,移动您需要移动的任何邮件,然后重新进入空闲模式。

您可以这样做,或者在新邮件到达时停止空闲,移动您需要移动的任何邮件,然后重新进入空闲模式。

您可以这样做,或者在新邮件到达时停止空闲,移动您需要移动的任何邮件,然后重新进入空闲模式。

我之所以考虑使用双客户端连接,是因为我不想在非空闲移动过程中丢失新邮件到达的通知。有没有更好的方法呢?哦,如果是这样的话,在非空闲移动过程中不会丢失任何通知。IDLE命令所能做的就是允许IMAP服务器发送通常作为响应其他命令的一部分发送的通知,而客户端不需要发送任何命令。因此,为了正确起见,这是否意味着我在没有操作要执行时进入IDLE模式,然后在需要处理操作时退出IDLE模式,在没有操作时再次进入空闲状态?我想我还需要实现一个计时器,来处理连接的保持活动?正确,正确,正确。查看MailKit git repo中的ImapIdle示例,查看使用空闲计时器的任何示例。我想到使用两个客户端连接的原因是,我不希望在非空闲移动过程中丢失新邮件到达的通知。有没有更好的方法呢?哦,如果是这样的话,在非空闲移动过程中不会丢失任何通知。IDLE命令所能做的就是允许IMAP服务器发送通常作为响应其他命令的一部分发送的通知,而客户端不需要发送任何命令。因此,为了正确起见,这是否意味着我在没有操作要执行时进入IDLE模式,然后在需要处理操作时退出IDLE模式,在没有操作时再次进入空闲状态?我想我还需要实现一个计时器,来处理连接的保持活动?正确,正确,正确。查看MailKit git repo中的ImapIdle示例,查看使用空闲计时器的任何示例。我想到使用两个客户端连接的原因是,我不希望在非空闲移动过程中丢失新邮件到达的通知。有没有更好的方法呢?哦,如果是这样的话,在非空闲移动过程中不会丢失任何通知。IDLE命令所能做的就是允许IMAP服务器发送通常作为响应其他命令的一部分发送的通知,而客户端不需要发送任何命令。因此,为了正确起见,这是否意味着我在没有操作要执行时进入IDLE模式,然后在需要处理操作时退出IDLE模式,在没有操作时再次进入空闲状态?我想我还需要实现一个计时器,来处理连接的保持活动?正确,正确,正确。查看MailKit git repo中的ImapIdle示例,查看使用空闲计时器的任何示例。我想到使用两个客户端连接的原因是,我不希望在非空闲移动过程中丢失新邮件到达的通知。有没有更好的方法呢?哦,如果是这样的话,在非空闲移动过程中不会丢失任何通知。IDLE命令所能做的就是允许IMAP服务器发送通常作为响应其他命令的一部分发送的通知,而客户端不需要发送任何命令。因此,为了正确起见,这是否意味着我在没有操作要执行时进入IDLE模式,然后在需要处理操作时退出IDLE模式,在没有操作时再次进入空闲状态?我想我还需要实现一个计时器,来处理连接的保持活动?正确,正确,正确。查看MailKit git repo中的ImapIdle示例,查看使用空闲计时器的示例。