mail::ACCOUNT::openFolder
Name
mail::ACCOUNT::openFolder -- Open a folder
Synopsis
#include <libmail/sync.H>
mail::ACCOUNT *mail;
bool ok=mail->openFolder
(const mail::folder *folder);
std::string errmsg=mail->getErrmsg();
USAGE
A mail folder must be formally "opened" before the messages in the folder
may be accessed.
Each mail account can have only one mail folder at any time
Opening another folder automatically "closes" the previous folder.
NOTE: | Different mail::account
or mail::ACCOUNT
objects may each
have a folder opened, at the same time.
It is possible to create multiple mail::account
or mail::ACCOUNT
objects that refer to the same actual mail account.
Whether it is possible to access the same account multiple times,
using different objects, and whether
each object may have the same folder opened depends on the account type
and/or the remote server. Whether it's possible to open the same remote IMAP or POP3 account
more than once depends on the remote IMAP/POP3 server. Whether it's possible to open the same folder on a remote IMAP server account
more than once depends on the remote IMAP/POP3 server.
Most IMAP servers allow the same account to be opened more than once, as
long as the different login sessions do not try to open the same folder.
Some IMAP servers allow the same folder to be opened simultaneously by
multiple sessions. It is generally possible to open the same local mail folder simultaneously,
via multiple mail::account objects, as long as
only one pending request is issued at a time.
Concurrent access to local maildirs generally works well, however simultaneous
access to
the same mbox folder may be rather slow, due to the overhead of locking
and rescanning of the folder by each mail::account
object.
|
Any previously-opened folder is closed before the an attempt to open this
folder is made.
If the new folder cannot be opened, the previous folder is still considered
closed.
RETURN CODES AND CALLBACKS
This method returns true if it succeeds, or
false if it fails.
If the method fails, use
mail::ACCOUNT::getErrmsg()
to read a brief
description of the error.