2009-05-29 8 views
6

Qualcuno conosce un modo per eseguire un dump di massa di ogni e-mail di un account Gmail e scrivere le e-mail in un file?Scaricare le e-mail (backup) da gmail programmaticamente

Sto cercando di scrivere un programma che permetterà agli utenti di eseguire il backup di Gmail là (probabilmente tramite IMAP) ed eseguire il backup di singoli file sia o come pst (lo so pst sarà probabilmente molto più difficile)

Grazie se puoi aiutare

risposta

5

qualche tempo fa ho scritto un post sul blog esattamente sullo stesso argomento. Vedi HOWTO: Download emails from a GMail account in C# per i dettagli.

codice utilizza la nostra 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); 
    } 
} 
4

Gmail fornisce POPaccess. Quindi basta usare qualsiasi library che ti permetta di comunicare usando POP e sei d'oro.

Modifica: Ho appena notato che hai citato IMAP; Vi consiglio di utilizzare POP invece per i dump di massa. IMAP è troppo chiacchierone per quello che vuoi fare.

Se è necessario utilizzare IMAP, ecco a library per voi.

0

C'è un programma Python open-source compilati a Windows (usando py2exe) a https://github.com/jay0lee/got-your-back/wiki

utenti Ma Mac avrebbero bisogno di compilarlo (che mi porto 'completamente scoperto a causa di un errore py2exe).

In entrambi i casi, è anche necessario un modo per eseguire il programma automaticamente in un programma.

Problemi correlati