C# 如何在不使用Mailkit删除电子邮件的情况下将其丢弃?

C# 如何在不使用Mailkit删除电子邮件的情况下将其丢弃?,c#,.net,imap,mailkit,C#,.net,Imap,Mailkit,我仍然掌握着令人惊叹的Mailkit库,但有些东西让我大吃一惊 此时,如果我在一个具体的UID中添加一个标志,它会被自动删除 使用ImapClient.Inbox.AddFlags(uid,MessageFlags.Deleted,false) 我想让用户选择将邮件移动到垃圾箱文件夹。问题是,我找不到将电子邮件扔进垃圾箱文件夹的标准。首先,因为我自己邮件服务器上的垃圾文件夹名为“垃圾”,但是 是否有将电子邮件直接移动到垃圾箱的标准?我猜这些垃圾在其他语言中可能被命名为“我的垃圾箱”、“垃圾桶”甚

我仍然掌握着令人惊叹的Mailkit库,但有些东西让我大吃一惊

此时,如果我在一个具体的UID中添加一个标志,它会被自动删除 使用
ImapClient.Inbox.AddFlags(uid,MessageFlags.Deleted,false)

我想让用户选择将邮件移动到垃圾箱文件夹。问题是,我找不到将电子邮件扔进垃圾箱文件夹的标准。首先,因为我自己邮件服务器上的垃圾文件夹名为“垃圾”,但是

  • 是否有将电子邮件直接移动到垃圾箱的标准?我猜这些垃圾在其他语言中可能被命名为“我的垃圾箱”、“垃圾桶”甚至“Papelera”
  • 在前面的问题上。。。有没有办法获得“默认垃圾路线”?在我的GMail中,垃圾在“[GMail]/Papelera”中,但在我自己的邮件服务器上,垃圾放在顶层/垃圾箱中。在这种情况下,这可能非常有用
  • .AddFlags非常有用,但对我来说听起来非常致命:'D

    编辑:我可以通过使用

    string capab = ImapClient.Capabilities.ToString();         
    if(capab.Contains("GMail"))
    {
        pain=true;
    }
    
    但听起来这不是保持这种局面的最好办法

    提前感谢,,
    Gonzo345.

    一些服务器支持特殊用途扩展,这些扩展在列表响应的标记中指示哪些文件夹用于特殊用途(垃圾箱、草稿等)。Gmail就是其中之一。对于其他人,你必须猜测。正如@Max所说,GMail支持
    专用扩展名,这意味着如果你调用
    ImapClient.GetFolder(SpecialFolder.Trash)
    ,MailKit将返回正确的文件夹。要检查您的IMAP服务器是否支持此功能,请检查
    if(ImapClient.Capabilities.hassflag(ImapCapabilities.SpecialUse))