Sample code for 30+ languages & platforms
C#

Get an IMAP Mailbox Quota

See more IMAP Examples

Demonstrates the Chilkat Imap.GetQuota method, which sends the IMAP GETQUOTA command for a quota root and returns the server response as JSON. The server must advertise the IMAP QUOTA extension. This example queries the default quota root.

Tip: JSON parsing code for this result can be generated at Chilkat Tools.

Background: Mail servers often cap how much storage an account may use. The IMAP QUOTA extension reports the current usage and limit for a quota root — a scope that may cover one mailbox or a whole account. Reading it lets an application warn a user who is nearing their limit, or refuse to append large messages that would exceed it. Check HasCapability for QUOTA first, since not all servers support it.

Chilkat C# Downloads

C#
bool success = false;

//  Demonstrates the Imap.GetQuota method, which sends the IMAP GETQUOTA command for a quota
//  root and returns the server response as JSON.  The server must advertise the IMAP QUOTA
//  extension.

Chilkat.Imap imap = new Chilkat.Imap();

imap.Ssl = true;
imap.Port = 993;

success = imap.Connect("imap.example.com");
if (success == false) {
    Debug.WriteLine(imap.LastErrorText);
    return;
}

success = imap.Login("user@example.com","myPassword");
if (success == false) {
    Debug.WriteLine(imap.LastErrorText);
    return;
}

//  Get the quota for a quota root (an empty string queries the default quota root).
string quotaJson = imap.GetQuota("");
if (imap.LastMethodSuccess == false) {
    Debug.WriteLine(imap.LastErrorText);
    return;
}

Debug.WriteLine(quotaJson);

//  JSON parsing code for this result can be generated at Chilkat's online tool:
//  https://tools.chilkat.io/jsonParse

success = imap.Disconnect();
if (success == false) {
    Debug.WriteLine(imap.LastErrorText);
    return;
}