logo

Response

« Return to the main article

You are viewing this page out of context. To see it in the context it is intended please click here.

About This Page

Reply posted by Mark on Thu 5 Apr 2007 in response to HTML Emails The Easy Way

Re: Can you send attachments?

Hi Salvador,


I've been using the NotesMIMEEntity class for a while now and have worked with
attachments too. The files you want to send have to be (temporarily) on the
server's file system to be able to read them into a MIMEEntity (I didn't find a
way to read embedded objects to a stream directly).


The following code should help you on the right track:


dim strFileAttachments List As String


strFileAttachments("image.gif") = "c:\somewhere_on_your_server\image.gif"
strFileAttachments("word.doc") = "c:\somewhere_on_your_server\word.doc"


'create mime attachments for every file
Forall file In strFileAttachments

'set correct content types for known file types
Select Case Lcase(Strright(file, ".") )
Case "gif"
strContentType = "image/gif"
Case "jpeg", "jpg"
strContentType = "image/jpeg"
Case Else
strContentType = "application/octet-stream"
End Select

Set mimeChild = mimeRoot.CreateChildEntity

Set header = mimeChild.CreateHeader("Content-Disposition")
Call header.SetHeaderVal({attachment; filename="} & Listtag(file) & {"}
)

'only required if we're embedding something we need to reference later
on, i.e. inline images
'Set header = mimeChild.CreateHeader("Content-ID")
'Call header.SetHeaderVal( |<| & Listtag(file) & |>| )

Set stream = session.CreateStream
If stream.Open(file) Then
Call mimeChild.SetContentFromBytes(stream, strContentType & {; name="}
& Listtag(file) & {"}, ENC_IDENTITY_BINARY)
Call stream.Close
End If

End Forall