如何使用C#清空Gmail废纸篓

时间:2012-03-24 17:25:53

标签: c# .net imap gmail-imap interimap

我尝试使用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();

先谢谢。

2 个答案:

答案 0 :(得分: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();
            }    
        }
    }
}

答案 1 :(得分:1)

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

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

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

如果要永久删除所有文件夹中的邮件:

  1. 将其移至[Gmail] /已删除邮件文件夹。
  2. 从[Gmail] /已删除邮件文件夹中删除它。
  3. 您可以在此处找到更多详细信息: http://www.limilabs.com/blog/delete-email-permanently-in-gmail