3

我尝试使用InterImap库访问我的 Gmail 邮箱。它在那里显示我的消息,但无法删除消息。我还找到了一个方法“EmptyFolder()”,但不起作用。

对我有用的是 MoveMessageToFolder() ,但这不是我需要的。

请帮助我使用相同或任何其他库用 C# 清空我的垃圾箱。我需要执行此操作的代码示例。

这是我设法编写的代码。

var config = new InterIMAP.IMAPConfig("imap.gmail.com", "<my gmail username>", "<my gmail password", true, true, "");
var client = new InterIMAP.Synchronous.IMAPClient(config, new InterIMAP.IMAPLogger(config, new object[] { }), 1);
var trash = client.Folders["[Gmail]"].SubFolders["Trash"];
trash.EmptyFolder();
client.Logoff();

提前致谢。

4

2 回答 2

2

我不喜欢手动删除 Gmail 中的垃圾文件夹。每天都充斥着垃圾邮件。所以我复制了 c# 代码来为我完成这项工作。我从评估版 Limilabs 下载并使用了 mail.dll。为应用程序创建 Gmail 密码。这是代码:

using System;
using Limilabs.Client.IMAP;
using System.Collections.Generic;

namespace delete_gmail_trash
{
    class Program
    {
        static void Main(string[] args)
        {
            using (Imap imap = new Imap())
            {
                imap.ConnectSSL("imap.gmail.com");
                imap.UseBestLogin("username@gmail.com", "password for Gmail apps");
                // Recognize Trash folder
                List<FolderInfo> folders = imap.GetFolders();

                CommonFolders common = new CommonFolders(folders);

                FolderInfo trash = common.Trash;
                // Find all emails we want to delete
                imap.Select(trash);
                List<long> uidList = imap.Search(Flag.All);
                foreach (long uid in uidList)
                {
                    imap.DeleteMessageByUID(uid);
                    Console.WriteLine("{0} deleted", uid);
                }
                Console.WriteLine("Press any key to exit.");
                Console.ReadKey();
                imap.Close();
            }    
        }
    }
}
于 2016-10-08T04:22:39.867 回答
1

如果您从收件箱或自定义文件夹中删除邮件,它仍会出现在 [Gmail]/所有邮件中。

原因如下:在大多数情况下,删除邮件只是从邮件中删除该文件夹的标签,包括将邮件标识为收件箱中的标签。

[Gmail]/所有邮件显示您的所有邮件,无论它们是否附有标签。

如果您想从所有文件夹中永久删除邮件:

  1. 将其移至 [Gmail]/Trash 文件夹。
  2. 从 [Gmail]/Trash 文件夹中删除它。

您可以在此处找到更多详细信息: http ://www.limilabs.com/blog/delete-email-permanently-in-gmail

于 2012-04-02T09:26:34.693 回答