Archive email in Gmail
First remember to enable IMAP in Gmail.
To archive message in Gmail you need to use DeleteMessageByUID method. Using INBOX folder is crucial for Archiving to work. If you use DeleteMessageByUID when other folder/label is selected, Gmail will not archive the message, but rather remove currently selected label.
After this operation messages will be still available in “All Mail” IMAP folder.
// C# using(Imap imap = new Imap()) { imap.ConnectSSL("imap.gmail.com"); imap.Login("user", "password"); // Find all emails we want to delete imap.SelectInbox(); List<long> uids = imap.Search( Expression.Subject("email to archive")); imap.DeleteMessageByUID(uids); imap.Close(); }
' VB.NET Using imap As New Imap() imap.ConnectSSL("imap.gmail.com") imap.Login("user@gmail.com", "password") ' Find all emails we want to delete imap.SelectInbox() Dim uids As List(Of Long) = imap.Search(_ Expression.Subject("email to archive")) imap.DeleteMessageByUID(uids) imap.Close() End Using