mail::ACCOUNT::addMessage — Add a message to a folder
#include <libmail/sync.H>
#include <libmail/addmessage.H>
mail::ACCOUNT *mail;
class myAddMessagePull : public mail::addMessagePull {
public:
std::string getMessageContents();
};
time_t messageDate;
mail::messageInfo newMessageInfo;
myAddMessagePull message;
message.messageDate=messageDate;
message.newMessageInfo=newMessageInfo;
bool
ok=mail->addMessage( |
const mail::folder *folder, |
message) ; |
std::string errmsg=mail->getErrmsg();
This method inserts a message into a folder. folder
specifies the folder
where the message is added to, which may or may not be the
currently open folder.
message
's
getMessageContents
specifies
the contents of the message, which should be a valid,
MIME-formatted message. getMessageContents
does not have to return
the entire contents of the message at once. addMessage
calls getMessageContents
repeatedly. getMessageContents
should return the next
portion of the message with each call. getMessageContents
should return an empty
string, after providing the entire message contents are
provided. getMessageContents
will be called repeatedly until it returns an empty
string.
The application may set the following mail::addMessagePull fields before invoking this method. If not initialized, the following fields will be set to their default values.
The message's arrival timestamp, which is retrieved
by mail::ACCOUNT::getMessageEnvelope(3x),
which places it in the arrivalDate
field.
This timestamp does not necessarily have to be the
same as the timestamp in the message's Date:
header.
The message flags, as returned by mail::ACCOUNT::getFolderIndexInfo(3x).
The contents of uid
, the message's
unique ID, are ignored, only the message flags in
messageInfo
are read. The message gets automatically assigned a
new unique ID when it gets added to the folder.