Share this page

# Example: imap_get_attribute_int_ex

In the following example, the imap_get_attribute_int_ex function retrieves the IMAP session attributes.

    int temp;
    int numMessage;

    vuser_init() {
    	imap1 = 0;
    	imap_logon_ex(&imap1, "IMapLogon",
           "URL=imap://qatest:qatest@aqwa.abc.co.il", LAST );

    /*    Selecting the mailbox refreshes the values of
        RECENT_MESSAGE_COUNT, READ_WRITE_MODE,
        and TOTAL_MESSAGE_COUNT,
        making them available to the subsequent
        call to imap_get_attribute_int_ex. */

    	imap_select_ex(&imap1, "SelectMailbox",
    		"Mailbox=Sent Items", LAST );

    // Output the total message count

    numMessage = imap_get_attribute_int_ex(&imap1,"TOTAL_MESSAGE_COUNT");
    lr_output_message("total message count: %d", numMessage);

    // Output the recent message count

    numMessage = imap_get_attribute_int_ex(&imap1,"RECENT_MESSAGE_COUNT");
    lr_output_message("Recent message count: %d", numMessage);

    // Output the read/write mode (read-write = 1)

    temp = imap_get_attribute_int_ex(&imap1, "READ_WRITE_MODE");
    lr_output_message("READ_WRITE_MODE = %d", temp);

    /*    This call to imap_status_ex refreshes the values for:
        TOTAL_MESSAGE_COUNT (MESSAGES)
        RECENT_MESSAGE_COUNT (RECENT)
        UNSEEN_MESSAGE_COUNT (UNSEEN)
        NEXT_MESSAGE_UID (UIDNEXT)
        MAILBOX_UID (UIDVALIDITY).
        Note that you don't have to call imap_status_ex  with all the values.
        For example:
    	imap_status_ex(&imap1, "MailboxStatus",
            "Mailbox=Sent Items (UIDVALIDITY)",LAST );

        temp = imap_get_attribute_int_ex(&imap1, "MAILBOX_UID");
        lr_output_message("MAILBOX_UID = %d", temp); */

    	imap_status_ex(&imap1, "MailboxStatus",
    	    "Mailbox=Sent Items (MESSAGES RECENT UIDNEXT UIDVALIDITY UNSEEN)",  LAST );

    // Output the ID of the next message that will be added after all the existing messages

    temp = imap_get_attribute_int_ex(&imap1, "NEXT_MESSAGE_UID");
    lr_output_message("NEXT_MESSAGE_UID = %d", temp);

    // Output the number of messages that haven't been read

    temp = imap_get_attribute_int_ex(&imap1, "UNSEEN_MESSAGE_COUNT");
    lr_output_message("UNSEEN_MESSAGE_COUNT = %d", temp);

    // Output the mailbox ID

    	temp = imap_get_attribute_int_ex(&imap1, "MAILBOX_UID");
    	lr_output_message("MAILBOX_UID = %d", temp);
    	imap_close_ex(&imap1, "CloseMailbox", LAST );
    	imap_logout_ex(&imap1);
    	imap_free_ex(&imap1);
    	return 0;
    }

Tips to improve your search results... VuGen Function Reference Version 25.1-25.3 Function Reference 25.1-25.3 All View Local Help Center View Online Help Center Version: