---
product: Chilkat
product_version: 11.7.0
language: dataflex
language_label: DataFlex
class: Mailboxes
license: bundle
deprecated: false
reference_html: https://www.chilkatsoft.com/refdoc/dataflexMailboxesRef.html
---
# Chilkat Mailboxes — DataFlex — v11.7.0

> Chilkat 11.7.0 · language=dataflex · class=Mailboxes
> Other versions: replace `11.7.0` in this URL. Other languages: `https://www.chilkatsoft.com/ai-docs/v/11.7.0/<lang>/classes/Mailboxes.md`.
> Language-wide rules (install, unlock, error model, strings/bytes): `https://www.chilkatsoft.com/ai-docs/v/11.7.0/dataflex/guide.md`.

## Purpose

**Inspect IMAP mailbox names and attributes returned by Chilkat.Imap.**

`Chilkat.Mailboxes` is a read-only result collection populated by `Chilkat.Imap.MbxList`. Applications inspect the returned mailbox names and attributes but do not directly add, remove, or modify entries. The class provides indexed access to mailbox flags, selectable status, marked status, whether child mailboxes exist, and whether child mailboxes may be created.

**Mailbox collection**

Receive the read-only list of IMAP mailboxes populated by `Chilkat.Imap.MbxList`.

**Indexed mailbox access**

Use the mailbox count and index-based methods to retrieve each mailbox name in the returned collection.

**Mailbox flags**

Inspect IMAP flags associated with each mailbox, including standard and server-specific attributes.

**Selectable status**

Determine whether a mailbox can be selected and opened for message access.

**Hierarchy information**

Check whether a mailbox has child mailboxes or whether children may be created beneath it.

**Marked status**

Detect whether a mailbox is marked or unmarked according to the attributes returned by the IMAP server.

**Common pattern:** Call `Chilkat.Imap.MbxList` to populate a `Mailboxes` object, loop from `0` to `Count - 1`, retrieve each mailbox name, and inspect its flags or selectable status. Mailbox names are exposed as normal Unicode text; Chilkat automatically handles modified UTF-7 or IMAP UTF-8 at the protocol level.

For an extended overview, see [Mailboxes Class Overview](https://www.chilkatsoft.com/mailboxes_class_overview.asp).

## Object creation, unlocking and error handling

**Object Creation**

```dataflex
// (Dataflex programs use the 32-bit Chilkat ActiveX)
Handle hoMailboxes
Get Create(RefClass(cComMailboxes)) to hoMailboxes
```

Call `Global.UnlockBundle` once at the start of the program, before using this or any other Chilkat class. Any string unlocks a fully functional 30-day trial; a purchased unlock code is used in production. See `guide.md` for the exact code in DataFlex.

How failure is reported depends on the method's return type and is stated in the note under each method below. In every case the diagnostic text is in the `LastErrorText` property of the object whose method was called.

## Members common to every Chilkat class

Documented once per language in `common-members.md`; listed here so this page is self-contained.

| Property | Signature | Access | Meaning |
|---|---|---|---|
| `DebugLogFilePath` | `Function ComDebugLogFilePath Returns String Procedure Set ComDebugLogFilePath String value` | read/write | If set to a file path, this property logs the LastErrorText of each Chilkat method or property call to the specified file. |
| `LastBinaryResult` | `Function ComLastBinaryResult Returns Variant` | read-only | This property is mainly used in SQL Server stored procedures to retrieve binary data from the last method call that returned binary data. |
| `LastErrorHtml` | `Function ComLastErrorHtml Returns String` | read-only | Provides HTML-formatted information about the last called method or property. |
| `LastErrorText` | `Function ComLastErrorText Returns String` | read-only | Provides plain text information about the last called method or property. |
| `LastErrorXml` | `Function ComLastErrorXml Returns String` | read-only | Provides XML-formatted information about the last called method or property. |
| `LastMethodSuccess` | `Function ComLastMethodSuccess Returns Boolean Procedure Set ComLastMethodSuccess Boolean value` | read/write | Indicates the success or failure of the most recent method call: `True` means success, `False` means failure. |
| `LastStringResult` | `Function ComLastStringResult Returns String` | read-only | In SQL Server stored procedures, this property holds the string return value of the most recent method call that returns a string. |
| `LastStringResultLen` | `Function ComLastStringResultLen Returns Integer` | read-only | The length, in characters, of the string contained in the LastStringResult property. |
| `VerboseLogging` | `Function ComVerboseLogging Returns Boolean Procedure Set ComVerboseLogging Boolean value` | read/write | If set to `True`, then the contents of LastErrorText (or LastErrorXml, or LastErrorHtml) may contain more verbose information. |
| `Version` | `Function ComVersion Returns String` | read-only | Version of the component/library, such as "10.1.0" |

## Member index

| Member | Kind | Signature |
|---|---|---|
| `Count` | property, read-only | `Function ComCount Returns Integer` |
| `GetFlags` | method | `Function ComGetFlags Integer index Returns String` |
| `GetMailboxIndex` | method | `Function ComGetMailboxIndex String mbxName Returns Integer` |
| `GetName` | method | `Function ComGetName Integer index Returns String` |
| `GetNthFlag` | method | `Function ComGetNthFlag Integer index Integer flagIndex Returns String` |
| `GetNumFlags` | method | `Function ComGetNumFlags Integer index Returns Integer` |
| `HasFlag` | method | `Function ComHasFlag Integer index String flagName Returns Boolean` |
| `HasInferiors` | method | `Function ComHasInferiors Integer index Returns Boolean` |
| `IsMarked` | method | `Function ComIsMarked Integer index Returns Boolean` |
| `IsSelectable` | method | `Function ComIsSelectable Integer index Returns Boolean` |
| `LoadTaskResult` | method | `Function ComLoadTaskResult cComChilkatTask task Returns Boolean` |

## Properties

### Mailboxes.Count

`Chilkat 11.7.0 · dataflex · Mailboxes · Count · property · read-only`

```dataflex
Function ComCount Returns Integer
```

Returns the number of mailboxes in this collection. An empty collection has a count of `0`.

`Mailboxes` is a read-only result container populated by `Imap.MbxList`. Applications inspect the returned entries but do not directly add, remove, or modify mailboxes in this object.

## Methods

### Mailboxes.GetFlags

`Chilkat 11.7.0 · dataflex · Mailboxes · GetFlags · method`

```dataflex
Function ComGetFlags Integer index Returns String
```

Returns a comma-separated list of flags for the mailbox at the zero-based index specified by `index`.

For example:

```
\HasNoChildren,\Important
```

To inspect the flags individually, use `GetNumFlags` and `GetNthFlag`.

Returns `null` on failure

### Mailboxes.GetMailboxIndex

`Chilkat 11.7.0 · dataflex · Mailboxes · GetMailboxIndex · method`

```dataflex
Function ComGetMailboxIndex String mbxName Returns Integer
```

Returns the zero-based index of the mailbox whose name matches `mbxName`.

Pass `mbxName` as a normal Unicode mailbox name. Chilkat automatically handles the protocol-level modified UTF-7 or IMAP UTF-8 representation; the application should not encode the mailbox name manually.

The returned index can be used with methods such as `GetName`, `GetFlags`, and `IsSelectable`.

### Mailboxes.GetName

`Chilkat 11.7.0 · dataflex · Mailboxes · GetName · method`

```dataflex
Function ComGetName Integer index Returns String
```

Returns the name of the mailbox at the zero-based index specified by `index`.

The name is returned as normal Unicode text. Chilkat automatically decodes modified UTF-7 or IMAP UTF-8 mailbox names received from the server and automatically performs the corresponding encoding when the name is passed to an `Imap` method.

The returned name can therefore be passed directly to methods that select, examine, create, rename, delete, copy to, or otherwise operate on a mailbox. Do not manually encode or decode the mailbox name.

Returns `null` on failure

### Mailboxes.GetNthFlag

`Chilkat 11.7.0 · dataflex · Mailboxes · GetNthFlag · method`

```dataflex
Function ComGetNthFlag Integer index Integer flagIndex Returns String
```

Returns one flag from a mailbox in the collection.

- `index` is the zero-based mailbox index.
- `flagIndex` is the zero-based flag index within that mailbox.

Call `GetNumFlags` to determine the number of flags available for the mailbox.

Returns `null` on failure

### Mailboxes.GetNumFlags

`Chilkat 11.7.0 · dataflex · Mailboxes · GetNumFlags · method`

```dataflex
Function ComGetNumFlags Integer index Returns Integer
```

Returns the number of flags associated with the mailbox at the zero-based index specified by `index`.

Returns `-1` if `index` is outside the valid mailbox-index range. Use `GetNthFlag` to retrieve the individual flags.

### Mailboxes.HasFlag

`Chilkat 11.7.0 · dataflex · Mailboxes · HasFlag · method`

```dataflex
Function ComHasFlag Integer index String flagName Returns Boolean
```

Returns `True` if the mailbox at the zero-based index specified by `index` contains the flag named by `flagName`.

Flag-name comparison is case-insensitive. Include the leading backslash when checking an IMAP system flag or mailbox attribute, for example `\Marked`, `\Noselect`, or `\HasChildren`.

### Mailboxes.HasInferiors

`Chilkat 11.7.0 · dataflex · Mailboxes · HasInferiors · method`

```dataflex
Function ComHasInferiors Integer index Returns Boolean
```

Returns `True` if the mailbox at the zero-based index specified by `index` either has child mailboxes or permits child mailboxes to be created beneath it.

**Important distinction:** `\HasNoChildren` means that no child mailboxes currently exist. It does not mean that children cannot be created. The IMAP `\Noinferiors` attribute means that child mailboxes cannot be created.

### Mailboxes.IsMarked

`Chilkat 11.7.0 · dataflex · Mailboxes · IsMarked · method`

```dataflex
Function ComIsMarked Integer index Returns Boolean
```

Returns `True` if the mailbox at the zero-based index specified by `index` has the IMAP `\Marked` attribute.

`\Marked` is a server-provided hint that the mailbox may contain messages added since it was last selected. It is advisory information returned by the mailbox-listing operation.

### Mailboxes.IsSelectable

`Chilkat 11.7.0 · dataflex · Mailboxes · IsSelectable · method`

```dataflex
Function ComIsSelectable Integer index Returns Boolean
```

Returns `True` if the mailbox at the zero-based index specified by `index` can be selected or examined for message access.

A mailbox having the IMAP `\Noselect` attribute is not selectable, even though it may appear in the mailbox hierarchy and may contain selectable child mailboxes.

### Mailboxes.LoadTaskResult

`Chilkat 11.7.0 · dataflex · Mailboxes · LoadTaskResult · method · since 9.5.0.52`

```dataflex
Function ComLoadTaskResult cComChilkatTask task Returns Boolean
```

Loads this object from a completed asynchronous task whose result is a `Mailboxes` collection.

`task` must reference a completed `Task` returned by the asynchronous form of an operation that produces mailbox-listing results.

Returns True for success, False for failure.

## Related classes

[`Task`](https://www.chilkatsoft.com/ai-docs/v/11.7.0/dataflex/classes/Task.md)

