|
Summary
Set message body or attachment file name as binary.
Description
The OnSetBodyB event occurs in response to calling the CreateMessage method. If the
UseVariant property is set to True the OnSetBodyB event will be fired to obtain the body
of the message and any attachments. If the UseVariant property is False, then the
OnSetBody event will be fired instead. The Byte argument passed to this event indicates
the maximum number of bytes of data can be sent at this moment.
The MIME ActiveX control will fire the OnSetBodyB event first to obtain the body of the
message. During the OnSetBodyB event call the SetBodyB method. Pass the message body as
the Buffer parameter and the IsFile parameter as 0, or if the body is in a
file you should pass the filename to as Buffer and pass IsFile as 1. The Bytes
parameter should be the length of Buffer. Once the MIME control builds the main
header and body of the message, it will fire the OnSetHeader and OnSetBodyB events to
obtain information for the attachments.
Attachments can be sent by setting passing complete path and name of the file as the Buffer
parameter and 1 as the IsFile parameter, or by passing the contents of the
attachment as the Buffer parameter and passing 0 as the IsFile parameter. In
both cases the length of the buffer should be passed as the Bytes parameter.
To indicate the end of the message body or attachment pass 0 as the Bytes
parameter of the SetBodyB method.
To abort the create message, set the Action property to ACTION_ABORT (or call the Abort
method) during this event. The action in progress will be canceled and no further such
events will occur.
Note for BinHex encoded files: A file that has to be encoded in binhex40 generally has
two parts, a data fork and a resource fork, the MIME ActiveX will fire the OnSetBodyB
event to get the data fork first and then it will fire the OnSetBodyB event again to get
for the resource fork. If there is no resource fork then the application must call the
SetBodyB method with the Bytes parameter set to 0.
Example
' HeaderInfo is a structure for the attachment name, encoding used and the
content type
' see the MIME sample for the definition
Sub Mime_OnSetBodyB (Bytes As Long)
' send message body
If MsgBodyDone = False Then
Result = SetBodyB (Buffer, BufferLength, 0) ' message body
MsgBodyDone = True
Exit Sub
End If
' send attachment filename
If AttachDone = False And HeaderIndex <> 0 Then
Result = SetBodyB (HeaderInfo(Indx).Buffer, BufferLength, 1) ' attachment
AttachDone = True
Else
Result = SetBodyB (Buffer, 0, 0) ' end of body or attachment
End If
End Sub
|