2010-06-29 5 views
3

J'ai une image dans ma boîte d'image VB.NET. Je voudrais le joindre à l'e-mail que j'expédie via Outlook sans avoir à le sauvegarder sur le lecteur n'importe où. Est-il possible de faire une telle chose?Puis-je ajouter une pièce jointe Outlook à partir d'une image PictureBox?

Voici ce que j'ai jusqu'à présent (extrait de here):

Public Class email 
    Dim app As Microsoft.Office.Interop.Outlook.Application 
    Dim appNameSpace As Microsoft.Office.Interop.Outlook._NameSpace 
    Dim memo As Microsoft.Office.Interop.Outlook.MailItem 
    Dim outbox As Microsoft.Office.Interop.Outlook.MAPIFolder 

    Public Sub New(ByVal attachment) 
     Try 
      app = New Microsoft.Office.Interop.Outlook.Application 
      appNameSpace = app.GetNamespace("MAPI") 
      appNameSpace.Logon(Nothing, Nothing, False, False) 

      memo = app.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem) 
      memo.To = "[email protected]" 
      memo.Subject = "Testing" 
      memo.Body = "Hello there" 
      memo.Attachments.Add(attachment, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue) 
      memo.Send() 
     Catch ex As Exception 
      Console.WriteLine(ex.Message) 
     End Try 

    End Sub 


End Class 

Quand je commente la ligne de fixation, il fonctionne parfaitement bien, sinon il jette un COMError. Je n'ai pas été en mesure de trouver de vraies bonnes informations sur la manière de joindre un email de cette façon, ou même si c'est possible. Si je ne peux pas le faire de cette façon, je prévois de simplement enregistrer le fichier dans un nom aléatoire (ish) dans C: \ TEMP \, mais ce serait mieux si je n'avais pas à m'inquiéter à ce sujet.

Merci pour toute aide

Répondre