6

有谁知道批量转储gmail帐户的每封电子邮件并将电子邮件写入文件的方法?

我正在寻找一个程序,让用户在那里备份 gmail(可能通过 imap)并将其备份到单个文件或作为 pst(我知道 pst 可能会更难)

4

4 回答 4

5

前段时间我写了一篇关于完全相同主题的博客文章。有关详细信息,请参阅HOWTO:从 C#中的 GMail 帐户下载电子邮件。

代码使用我们的Rebex Mail 组件

using Rebex.Mail;
using Rebex.Net;
...
// create the POP3 client
Pop3 client = new Pop3();
try
{

   // Connect securely using explicit SSL. 
   // Use the third argument to specify additional SSL parameters. 
   Console.WriteLine("Connecting to the POP3 server...");
   client.Connect("pop.gmail.com", 995, null, Pop3Security.Implicit);

   // login and password
   client.Login(email, password);

   // get the number of messages
   Console.WriteLine("{0} messages found.", client.GetMessageCount());

   // -----------------
   // list messages
   // -----------------

   // list all messages
   ListPop3MessagesFast(client); // unique IDs and size only   
   //ListPop3MessagesFullHeaders(client); // full headers
}
finally
{
   // leave the server alone
   client.Disconnect();      
}


public static void ListPop3MessagesFast(Pop3 client)
{
   Console.WriteLine("Fetching message list...");

   // let's download only what we can get fast
   Pop3MessageCollection messages = 
      client.GetMessageList(Pop3ListFields.Fast);

   // display basic info about each message
   Console.WriteLine("UID | Sequence number | Length");
   foreach (Pop3MessageInfo messageInfo in messages)
   {
      // display header info
      Console.WriteLine
      (
         "{0} | {1} | {2} ",
         messageInfo.UniqueId,
         messageInfo.SequenceNumber,
         messageInfo.Length
      );

      // or download the whole message
      MailMessage mailMessage = client.GetMailMessage(messageInfo.SequenceNumber);
   }   
}
于 2009-09-24T00:16:37.627 回答
4

Gmail 提供POP 访问。因此,只需使用任何允许您使用 POP 进行通信的库,您就可以了。

编辑:我刚刚注意到你提到了 IMAP;我建议您使用 POP 而不是批量转储。IMAP 对于您想要做的事情来说太健谈了。

如果您必须使用 IMAP,这里有一个库供您使用。

于 2009-05-29T15:51:11.813 回答
1

您可以使用 Unix 环境中的 fetchmail 创建 mbox 文件。

http://lifehacker.com/software/gmail/geek-to-live--back-up-gmail-with-fetchmail-235207.php

于 2009-05-29T15:49:11.000 回答
0

在https://github.com/jay0lee/got-your-back/wiki有一个编译到 Windows 的开源 Python 程序(使用 py2exe)

但是 Mac 用户需要编译它(由于 py2exe 错误,我还没有完全弄清楚)。

无论哪种方式,您还需要一种按计划自动执行程序的方法。

于 2014-12-31T17:49:14.467 回答