2014-05-15 22 views
7

Sto usando MailKit (https://github.com/jstedfast/MailKit) per connettermi alle app di google tramite imap, come posso eliminare un singolo messaggio? (Sto bene per spostarlo nel cestino, ne ho solo bisogno dalla posta in arrivoMailKit Elimina singolo messaggio da gmail

Finora l'ho collegato, scaricato, analizzando i collegamenti dai corpi dei messaggi. Ho solo bisogno di questa ultima azione per avere ciò di cui ho bisogno .!

Grazie

+0

Anche se è necessario scaricare un solo messaggio, ho un esempio MailKit completamente funzionante di eliminazione di messaggi di massa [qui] (https://github.com/arthurspa/ DeleteEmailMessages). Per eliminare un singolo messaggio è simile. –

risposta

14

per eliminare un messaggio da una cartella sul server IMAP, questo è tutto quello che dovete fare:

client.Inbox.AddFlags (new int[] { index }, MessageFlags.Deleted); 

o

client.Inbox.AddFlags (new UniqueId[] { uid }, MessageFlags.Deleted); 

Ora il messaggio è contrassegnato come \ Eliminato sul server.

È quindi possibile eliminare la cartella di tutti gli elementi eliminati chiamando:

client.Inbox.Expunge(); 

Se si utilizza invece gli UID degli indici e il server IMAP supporta l'estensione UIDPLUS (controllare le client.Capabilities), è possibile cancellare solo un insieme selezionato di messaggi come questo:

if (client.Capabilities.HasFlag (ImapCapabilities.UidPlus)) 
    client.Inbox.Expunge (new UniqueId[] { uid }); 
Problemi correlati