Description
Updates or creates a MAPI message.
Syntax
status = MAPISaveMail([session][, parent][, id][, flags], message)
Parameters
The MAPISaveMail function has the following parameters.
Parameter | Description |
---|---|
session | Contains a MAPI session handle returned by MAPILogon. If not specified and if a new message is to be created a system default session will be initiated, if possible, or a sign-in dialog box will be displayed. In any case, MAPI will return to its previous state upon completion of the function. |
parent | Contains the name of an OpenInsight parent window. If not specified any dialog box displayed will be application modal. |
id | Contains the id of the message which is to be updated or which has been created. To update an existing message specify a valid session handle returned from MAPILogon and the message's id. To create a new message the session handle is optional and a message id should not be specified on input. |
flags | Contains information about session initiation. It could be MAPI_LOGON_UI$, MAPI_NEW_SESSION$, or a combination of these flags.
|
message | Contains the record for the message which is to be saved. The message record structure is detailed in the following table. The from field and the MAPI_SENT$ flag are ignored when saving a message. |
After the function completes successfully the id parameter will contain the identifier of the updated or newly created message.
Use the MAPI_EQUATES insert record for access to the values in the following table.
Column position | Name | Purpose |
---|---|---|
1 | subject | The subject of the message. |
2 | from | The sender of the message. |
3 | to | @VM-delimited list of the message's To: recipients. |
4 | cc | @VM-delimited list of the message's CC: recipients. |
5 | bcc | @VM-delimited list of the message's BCC: recipients. |
6 | date | The date the message was received. |
7 | text | The text of the message. |
8 | type' | The type of the message. |
9 | flags | The attributes of the message. It could be MAPI_UNREAD$, MAPI_RECEIPT_REQUESTED$, MAPI_SENT$, or a combination of these flags.
The insert record MAPI_EQUATES contains these flags. You may combine flags by adding them together with an addition sign (+). |
10 | files | @VM-delimited list of the names of files to be attached to the message. |
11 | paths | @VM-delimited list of the paths to files to be attached to the message. |
12 | positions | @VM-delimited list of the positions within the text of files to be attached to the message. |
Returns
1 for successful execution or 0 for failure.
If function execution fails, you can retrieve a text error message by calling the Get_Status function. For example, to display an error message on the screen, include the following error handling routine in your code:
Get_Status(ErrMsg)
Msg(@window, ErrMsg)
See also
Get_Status(), MAPILogon(), MAPIOpenMail()
Example
Subroutine DemoMAPISaveMail(var) * Create a new message and save it in the outbox $INSERT MAPI_EQUATES Declare Function MAPISaveMail Declare Subroutine Msg, Get_Status flags = MAPI_LOGON_UI$ id = "" message = "" message<POS_SUBJECT$> = "MAPI Demo" message<POS_FROM$ > = "Trudy Jones" message<POS_TO$ > = "Alice Smith" message<POS_TEXT$ > = "This is a test of the emergency..." message<POS_TYPE$ > = "IPM.Outbox" message<POS_FLAGS$ > = MAPI_RECEIPT_REQUESTED$ if MAPISaveMail(0, 0, id, flags, message) then Msg(@window, "Message successfully saved") end else Get_Status(display) Msg(@window, display) end return