微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 以编程方式从gmail下载电子邮件(备份)

有没有人知道如何执行gmail帐户的每封电子邮件的批量转储并将电子邮件写入文件

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

谢谢,如果你能提供帮助

解决方法

前段时间我写了一篇关于完全相同主题的博文.有关详情,请参见 HOWTO: Download emails from a GMail account in C#.

代码使用我们的Rebex Mail component

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);
   }   
}

原文地址:https://www.jb51.cc/csharp/91941.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐