So I'm a bit late to this thread and I gotta tell you that between you and Andre Giruard, you were a ton of help.
I needed to send out a nicely formatted email that included an attachment and had a variably set of sendTo, copyTo, and blindCopyTo values. Being new to mime and not a big web buy, it's been like playing Zork...I'm still mostly in the dark but have gotten a basic framework that works.
I've munged your code and Andre's together and post it below.
Enjoy.
Doug
'This code sends a mime formatted message with an attachement
So I'm a bit late to this thread and I gotta tell you that between you and Andre Giruard, you were a ton of help.
I needed to send out a nicely formatted email that included an attachment and had a variably set of sendTo, copyTo, and blindCopyTo values. Being new to mime and not a big web buy, it's been like playing Zork...I'm still mostly in the dark but have gotten a basic framework that works.
I've munged your code and Andre's together and post it below.
Enjoy.
Doug
'This code sends a mime formatted message with an attachement
'Code adapted from Andre Giruard @ http://www-10.lotus.com/ldd/bpmpblog.nsf/dx/creating-a-mime-email-with-attachment
'Additional help from Jake Howlett @ http://www.codestore.net/store.nsf/unid/FISR-6MQSWV?OpenDocument
'Building a mime based message depends on the order of the mail message build
'Turn off mime conversion
'Set mailDoc values like subject, send to, cc, bcc
'Create mime header
'Attach files
'Create plain text message body for those who don't use html mail. It's not displayed for html mail recipients
'Create html message body for those who do use html. It's not displayed for text only mail recipients
'Close the stream
'Send
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim QuDoSDb As NotesDatabase
Dim QuDoSView As NotesView
Dim formDoc As NotesDocument
Dim deconRT As NotesRichTextItem
Dim deconAttach As NotesEmbeddedObject
Dim selUIDoc As NotesUIDocument
Dim contactName As String
'Mail variables
Dim response As Variant 'Provide the user with an option to send mail to the customer directly or to themselves for verification first
Dim values(1) As Variant
Dim selDoc As NotesDocument 'Selected document
Dim mailDoc As NotesDocument 'email with form
Dim object As NotesEmbeddedObject
Dim tmpFileName As String 'used to strip underscores and dashes from the original file name
Dim rawFileName As String 'used as the 'name' in the email attachment.
Dim attachFilename As String 'full path to the detached form
Dim sendTo(0) As String 'If you're setting any of these to a single string value, don't declare and just put it into the mailDoc.sendTo field
Dim copyTo(0) As String
Dim blindCopyTo(0) as String
'Mime variables
Dim body As NotesMIMEEntity
Dim mh As NotesMimeHeader
Dim mc As NotesMIMEEntity
Dim stream As NotesStream
'Create the mail doc and set the initial values
Set db = session.CurrentDatabase
Set selUIDoc = ws.CurrentDocument
Set selDoc = selUIDoc.Document
Set mailDoc = New NotesDocument(db)
session.convertMIME = False '<<<<< - important, this allows us to set the mailDoc values directly outside of the Mime process
mailDoc.Form="Memo"
mailDoc.sendTo = |send to here|
mailDoc.blindCopyTo = |bcc here|
mailDoc.Subject= |Your subject goes here|
rawFileName = |put what you want to display as the attachment name here|
attachFileName = |put the fully qualified path to the file here|
'Create the MIME headers
Set body = mailDoc.CreateMIMEEntity
Set mh = body.CreateHeader({MIME-Version})
Call mh.SetHeaderVal("1.0")
Set mh = body.CreateHeader("Content-Type")
Call mh.SetHeaderValAndParams({multipart/alternative;boundary="=NextPart_="})
' create another MIME part for the attachment. (repeat as needed)
Set mc = body.CreateChildEntity( )
Set mh = mc.CreateHeader("Content-Disposition")
Call mh.SetHeaderValAndParams(|attachment; filename=| & rawFileName)
Set stream = session.CreateStream
stream.Open attachFileName, "binary"
Call mc.SetContentFromBytes(stream, "application/octet-stream", ENC_IDENTITY_BINARY)
mc.EncodeContent(ENC_BASE64)
'Send the plain text part first (the code was provided as text then html but the site says html then text
Set mc = body.createChildEntity()
Set stream = session.createStream()
Call stream.WriteText("Hello. I'm boring.")
Call mc.setContentFromText(stream, {text/plain}, ENC_NONE)
'Now send the HTML part.
Set mc = body.createChildEntity()
Set stream = session.createStream()
'Create the body of the message using HTML here using the format:
Call stream.WriteText( |Message text in HTML| )
Call mc.SetContentFromText(stream,{text/html;charset="iso-8859-1"}, ENC_NONE)
'Close the stream
Call stream.close()
'Send it
Call mailDoc.Send(False)
Messagebox "Form: " & rawFileName & " has been sent"