title: Sending Email from Lotus Notes using Excel and having Attachment & HTML body
body: <p>Right I'm trying to send an Email form an excel spreadsheet though lotus notes, it has an attachment and the body needs to be in HTML.</p>
  
  <p>I've got some code that from all I've read should allow me to do this however it doesn't.
  Without the HTML body the attachment will send, when I impliment a HTML body the Email still sends but the attachment dissapears, I've tried rearanging the order of the code cutting out bits that might not be needed but all is invain.</p>
  
  <p>(You need to reference Lotus Domino Objects to run this code. 
  strEmail is the email addresses
  strAttach is the string location of the attachment
  strSubject is the subject text
  strBody is the body text
  )</p>
  
  <pre><code>Sub Send_Lotus_Email(strEmail, strAttach, strSubject, strBody)
  
  Dim noSession As Object, noDatabase As Object, noDocument As Object
  Dim obAttachment As Object, EmbedObject As Object
  
  Const EMBED_ATTACHMENT As Long = 1454
  
  Set noSession = CreateObject("Notes.NotesSession")
  Set noDatabase = noSession.GETDATABASE("", "")
  
  'If Lotus Notes is not open then open the mail-part of it.
  If noDatabase.IsOpen = False Then noDatabase.OPENMAIL
  
  'Create the e-mail and the attachment.
  Set noDocument = noDatabase.CreateDocument
  Set obAttachment = noDocument.CreateRichTextItem("strAttach")
  Set EmbedObject = obAttachment.EmbedObject(EMBED_ATTACHMENT, "", strAttach)
  
  'Add values to the created e-mail main properties.
  With noDocument
      .Form = "Memo"
      .SendTo = strEmail
      '.Body = strBody ' Where to send the body if HTML body isn't used.
      .Subject = strSubject
      .SaveMessageOnSend = True
  End With
  
  noSession.ConvertMIME = False
  Set Body = noDocument.CreateMIMEEntity("Body") ' MIMEEntity to support HTML
  Set stream = noSession.CreateStream
  Call stream.WriteText(strBody) ' Write the body text to the stream
  Call Body.SetContentFromText(stream, "text/html;charset=iso-8859-1", ENC_IDENTITY_8BIT)
  noSession.ConvertMIME = True
  
   'Send the e-mail.
  With noDocument
      .PostedDate = Now()
      .Send 0, strEmail
  End With
  
   'Release objects from the memory.
  Set EmbedObject = Nothing
  Set obAttachment = Nothing
  Set noDocument = Nothing
  Set noDatabase = Nothing
  Set noSession = Nothing
  </code></pre>
  
  <p>End Sub</p>
  
  <p>If somone could point me in the right direction I'd be greatly appreciated.</p>
  
  <p>Edit:
  I've done a little more investigating and I've found an oddity, if i look at the sent folder the emails all have the paperclip icon of having an attachment even though when you go into the email even in the sent the HTML ones don't show an attachment.</p>