| Visual Basic (Declaration) | |
|---|---|
<BrowsableAttribute(False)> Public ReadOnly Property Mailboxes As MailboxCollection | |
| Visual Basic (Usage) | Copy Code |
|---|---|
Dim instance As Imap Dim value As MailboxCollection value = instance.Mailboxes | |
| C# | |
|---|---|
[BrowsableAttribute(false)] public MailboxCollection Mailboxes {get;} | |
| Managed Extensions for C++ | |
|---|---|
[BrowsableAttribute(false)] public: __property MailboxCollection* get_Mailboxes(); | |
| C++/CLI | |
|---|---|
[BrowsableAttribute(false)] public: property MailboxCollection^ Mailboxes { MailboxCollection^ get(); } | |
The following example demonstrates logging into an IMAP server, copying read messages to a Deleted mailbox, and deleting them.
| Visual Basic | Copy Code |
|---|---|
Private Sub DoMove() ' Demonstrate moving Read messages from "INBOX" to a "Deleted Items" box Try ' Do synchronous login with AutoList Imap1.Login("myServer", "myAccount", "myPassword") ' Create Mailbox objects for easier reference Dim InboxBox As Mailbox = Imap1.CurrentMailbox ' After Login with AutoList, this will be "INBOX" Dim DeletedBox As Mailbox = Imap1.Mailboxes("Deleted Items") ' Update Messages Count in "Deleted Items" box DeletedBox.Refresh() ' Display Messages Count in both boxes LabelDisplay.Text = InboxBox.Messages.Count.ToString() + " " + DeletedBox.Messages.Count.ToString() ' Get an array of ImapMessages with just flags Dim Messages As ImapMessage() = InboxBox.Get(InboxBox.Messages(0), InboxBox.Messages(InboxBox.Messages.Count-1), ImapMessageSections.Flags) ' Copy Read Messages to "Deleted Items" box and Mark them for Deletion Dim Msg as ImapMessage For Each Msg in Messages If Msg.Seen Then 'If Seen flag is set Msg.CopyTo(DeletedBox) ' Copy to "Deleted Items" box Msg.Delete = True ' Set deleted flag in "INBOX" End If Next 'Permanently Remove Copied Messages from "INBOX" InboxBox.Purge() 'Update Messages Count in "Deleted Items" DeletedBox.Refresh() 'Display new Messages Counts LabelDisplay.Text = InboxBox.Messages.Count.ToString() + " " + DeletedBox.Messages.Count.ToString() 'Logout from server Imap1.Logout() Catch Ex As Exception ' Show MessageBox if error occurs MessageBox.Show(Ex.Message, "Error Message", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub | |
| C# | Copy Code |
|---|---|
private void DoMove() { //Demonstrate moving Read messages from "INBOX" to a "Deleted Items" box try { //Do synchronous login with AutoList imap1.Login("myServer", "myAccount", "myPassword"); //Create Mailbox objects for easier reference Mailbox inboxBox = imap1.CurrentMailbox; //After Login with AutoList, this will be "INBOX" Mailbox deletedBox = imap1.Mailboxes["Deleted Items"]; //Update Messages Count in "Deleted Items" box deletedBox.Refresh(); //Display Messages Count in both boxes labelDisplay.Text = inboxBox.Messages.Count.ToString() + " " + deletedBox.Messages.Count.ToString(); //Get an array of ImapMessages with just flags ImapMessage[] messages = inboxBox.Get(inboxBox.Messages[0], inboxBox.Messages[inboxBox.Messages.Count-1], ImapMessageSections.Flags); //Copy Read Messages to "Deleted Items" box and Mark them for Deletion foreach (ImapMessage msg in messages) { if (msg.Seen) //If Seen flag is set { msg.CopyTo(deletedBox); //Copy to "Deleted Items" box msg.Delete = true; //Set deleted flag in "INBOX" } } //Permanently Remove Copied Messages from "INBOX" inboxBox.Purge(); //Update Messages Count in "Deleted Items" deletedBox.Refresh(); //Display new Messages Counts labelDisplay.Text = inboxBox.Messages.Count.ToString() + " " + deletedBox.Messages.Count.ToString(); //Logout from server imap1.Logout(); } catch (Exception ex) { //Show MessageBox if error occurs MessageBox.Show(ex.Message, "Error Message", MessageBoxButtons.OK, MessageBoxIcon.Error); } } | |
The Imap.Mailboxes property returns a MailboxCollection object of mailboxes that are available on the server. The contents of this collection are based on the execution of the Imap.List method, if Imap.AutoList is true it will automatically be populated after logging in. The collection should be sorted alphabetically, but with the delimiter counted as a higher value than any other character.
The Imap.Mailboxes property includes top-level mailboxes only.
Target Platforms: Microsoft .NET Framework 2.0
Copy Code