You can also create your own form to send messages from. Your form can provide the means for the user to enter the standard message items, with code behind the form providing the functionality needed to send the message to the intended recipients.
Here's a look at a sample form that would replace the MAPI common dialog box for sending messages:

Creating a Custom Send Note
In this example, we're using text boxes for the addressee lines, subject and body of the message. We've incorporated a Return Receipt check box, allowing the user to request a receipt for the message. The final items, the Send and Cancel buttons provide the starting point to the functionality that sends the message.
Sub cmdSend_Click()
'This procedure is called to
'send out a message
'Set up our variables
Dim iStatus As Long
Dim tMessage As MAPIMessage
Dim iNumRecips As Integer
Dim tFiles As MAPIFile
Dim iNumFiles As Integer
'first, logon to MAPI
iStatus = MAPILogon(0&, "", "", MAPI_LOGON_UI, 0&, gMAPISession)
If iStatus <> SUCCESS_SUCCESS Then
MsgBox "Unable to logon to MAPI"
Exit Sub
End If
'---------------------------------------------------
'Establishing recipients
'---------------------------------------------------
'Check to see if 1 or 2 recipients specified.
If Not IsNull(txtCC) Then
'2 recipients; TO and CC
iNumRecips = 2
Else
'only the TO recipient was specified.
iNumRecips = 1
End If
'Set up our structure
ReDim tRecip(1 To iNumRecips) As MAPIRecip
'fill in the structures as needed
tRecip(1).Name = txtTO
tRecip(1).RecipClass = MAPI_TO
'If applicable, set up the CC addressee
If Not IsNull(txtCC) Then
tRecip(2).Name = txtCC
tRecip(2).RecipClass = MAPI_CC
End If
'Update the message header with the number of recipients
tMessage.RecipCount = iNumRecips
'---------------------------------------------------
'Establishing attached file counts
'---------------------------------------------------
tMessage.FileCount = 0
'---------------------------------------------------
'Establishing the actual message
'---------------------------------------------------
tMessage.Subject = txtSubject
tMessage.NoteText = txtNoteText
If WhatForm!cbReturnReceipt Then
tMessage.flags = MAPI_RECEIPT_REQUESTED
End If
'---------------------------------------------------
'Send the message
'---------------------------------------------------
'MAPISendMail is a custom function that sets up the message
iStatus = MAPISENDMAIL(gMAPISession, 0&, tMessage, tRecip(1), tFiles, MAPI_LOGON_UI, 0&)
If iStatus <> SUCCESS_SUCCESS Then
MsgBox "Problem sending message"
Exit Sub
End If
'logoff of mail, release our session
iStatus = MAPILogoff(gMAPISession, 0, 0, 0)
End Sub
You may recall that you can establish custom message classes for messages. In this example, the message is sent out as a standard message, so we leave the message type defaulted to blank, requiring MAPI to specify it. If you want or need to set up a new message class, you would do so prior to calling the MAPISendMail function.
You can see from the subroutine that establishing the different aspects of the message is pretty straight-forward. You simply set up the different properties and then pass them to the API call as parameters.