I have used the following with some success, but the results were inconsistent. I'm a relatively new programmer so am not sure about this, but I think the failure of some pages to go through was related to characteristics of Outlook. Maybe someone more experienced can improve on the code. Hope this helps.
Public Sub PageNew()
Dim MapiSession As Object
Dim MapiMessage As Object
Dim MapiRecipient As Object
'Dim MapiAttachment As Object
Dim Recpt
Dim errObj As Long
Dim errMsg
Dim EqualString As String
On Error GoTo PageNewTrap
' Create the MAPI Session.
Set MapiSession = CreateObject("Mapi.Session"
' Log on to the session. If the ProfileName argument is omitted,
' Microsoft Exchange prompts you for the profile to use. If the
' profile name is incorrect, you will receive a runtime error.
MapiSession.Logon ShowDialog:=False, NewSession:=False
' Add a message to the Outbox.
Set MapiMessage = MapiSession.Outbox.Messages.Add
' Add the recipients of the message. Note, each recipient must be
' added separately to the Recipients collection of the Message
' object (i.e., repeat Set MapiRecipient for each).
With MapiMessage
EqualString = "="
Set MapiRecipient = MapiMessage.Recipients.Add
MapiRecipient.NAME = EqualString + Forms![frmEnterComplaint]![Alias]
MapiRecipient.Type = mapiTo
' Resolve each recipient's e-mail name.
' Starting with Outlook version 8.03 (ref. Q172623)
' OLE Messaging 1.0 was replaced with Active Messaging 1.1.
' Outlook 98 (version 8.5) replaced Active Messaging
' with Microsoft CDO (Collaborative Data Objects) 1.21.
' OLE Messaging 1.0 uses a zero-based Recipients collection;
' Active Messaging 1.1 and Microsoft CDO 1.21 are 1-based.
For Recpt = 1 To .Recipients.Count
.Recipients(Recpt).Resolve ShowDialog:=False
Next
' Assign the text, subject, and importance of the message.
'.Subject = "Complaint Received"
'.Text = "Check the complaint system." & vbCrLf & vbCrLf & "Complaint # " & ComplaintNumber & vbCrLf & vbCrLf & "Received on " & DateReceived & vbCrLf & vbCrLf & "Needs to be assigned."
.Importance = mapiHigh
' View the message in Microsoft Exchange before sending. Set
' the ShowDialog argument to False if you want to send the
' message without viewing it in Microsoft Exchange.
.Send ShowDialog:=False
End With
Set MapiSession = Nothing ' Clear the object variable.
MsgBox MapiRecipient.NAME & "has been notified of this complaint."
PageNewExit:
Exit Sub
MapiNoProfile:
MsgBox "Please open your e-mail to allow automatic notification of this complaint to be sent to the appropriate administrator."
GoTo PageNewExit
PageNewTrap:
errObj = Err - vbObjectError ' Strip out the OLE automation error.
Select Case errObj
Case 275 ' User cancelled sending of message.
Resume PageNewExit
Case 273
GoTo MapiNoProfile
Case Else
errMsg = MsgBox("Error " & errObj & " was returned."

Resume PageNewExit
End Select
End Sub