我的VB.NET图片框中有一张图片。我想将它附加到我通过Outlook发送的电子邮件中,而不必将其保存到驱动器的任何位置。有可能做这样的事吗?
这是我到目前为止(取自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 = "notmy@realemailaddress.com"
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
当我注释掉附件行时,它完全正常,否则会引发COMError。我无法找到关于以这种方式附加电子邮件的任何真正好的信息,或者甚至是否可能。如果我不能这样做,我打算只将文件保存到C:\ TEMP \中的一些随机(ish)名称,但如果我不必担心这样会更好。
感谢您的帮助