CreateDraft Method
Creates a new email draft.
Syntax
ANSI (Cross Platform) int CreateDraft(int iDraftType, const char* lpszid); Unicode (Windows) INT CreateDraft(INT iDraftType, LPCWSTR lpszid);
- (void)createDraft:(int)draftType :(NSString*)id;
#define MID_OFFICE365_CREATEDRAFT 7 CLOUDMAIL_EXTERNAL int CLOUDMAIL_CALL CloudMail_Office365_Do(void *lpObj, int methid, int cparam, void *param[], int cbparam[], int64 *lpllVal);
Remarks
This method creates a new draft in the Drafts folder. The created message's information, including the draft's message id, is also added to the MessageInfo* properties. As a note, this will not clear the properties but will add it to the end.
Valid values for DraftType :
0 | DRAFTTYPE_MESSAGE |
1 | DRAFTTYPE_REPLY |
2 | DRAFTTYPE_REPLYALL |
3 | DRAFTTYPE_FORWARD |
Important Notes
When using DRAFTTYPE_MESSAGE, pass in an empty string as the id. The created draft will be built using the Message* properties (i.e. MessageTo, MessageSubject, MessageFrom, etc.).
When using DRAFTTYPE_REPLY, DRAFTTYPE_REPLYALL, or DRAFTTYPE_FORWARD the id parameter can be used to specify the message that is being replied to or forwarded. Also, the created draft will NOT be built with the Message* properties. Instead, the created draft will be empty (except for the From field). The Update method can be used instead to fill in the different parts of the message.
Example (New Draft)
// Create a draft message
office365.MessageSubject =
"Subject Text"
;
office365.MessageImportance =
"High"
;
office365.MessageBodyContentType =
"TEXT"
;
office365.MessageBodyContent =
"Body Text"
;
office365.MessageTo =
"email@example.com"
;
office365.CreateDraft(0,
""
);
office365.SendDraft(office365.MessageInfo[0].Id);
// Create the reply draft
string
originalMessageId =
"Message ID"
;
office365.CreateDraft(1, originalMessageId);
// Set the new draft MessageInfo fields with desired options
office365.MessageInfo[0].To =
"email@example.com"
;
office365.MessageInfo[0].Subject =
"Subject Text"
;
office365.MessageInfo[0].BodyContentType =
"TEXT"
;
office365.MessageInfo[0].BodyContent =
"Body Text"
;
// Update the draft
office365.Update(office365.MessageInfo[0].Id);
// Send the draft
office365.SendDraft(office365.MessageInfo[0].Id);
Error Handling (C++)
This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)