我有存储大量文档和其他附件的 Windows 窗体应用程序——即文档管理系统。它的一个功能是可以通过电子邮件将一堆附件发送给收件人。它通过简单地自动化 Outlook 来撰写新电子邮件并将所有文件附加到该邮件中,然后用户通过 Outlook 2010 正常发送电子邮件来实现这一点。
奇怪的事情发生了。系统中的一些附件实际上是.msg 文件(即已存储在文档管理系统中的其他电子邮件)。如果我们创建的电子邮件包含 .msg 附件,当电子邮件到达目的地时,所有附件都会被剥离。真正奇怪的是,这会影响一些收件人,但不是全部。但至关重要的是,仅当 .msg 文件位于电子邮件附件中时才会发生这种情况。如果电子邮件不包含 .msg 文件,则每次都能正常工作。
有任何想法吗?
这是代码:
Public Shared Sub CreateEmail(ByVal emailAddressTo As String, ByVal subject As String, ByVal bodyText As String, ByVal docs As DespatchDocumentFileList)
' create the email
Dim olApp As Object = CreateObject("Outlook.Application") ' New Outlook.Application
Dim olMail As Object = olApp.CreateItem(0) ' Outlook.OlItemType.olMailItem
' init the email
With olMail
.BodyFormat = 2 ' Outlook.OlBodyFormat.olFormatHTML
.Subject = subject
.To = emailAddressTo
.Body = bodyText
For Each doc As DespatchDocumentFileInfo In docs
Dim DespatchFile As InternalClaimsLibrary.Despatch.DespatchDocumentFile = InternalClaimsLibrary.Despatch.DespatchDocumentFile.GetDespatchDocumentFile(doc.ID)
Dim FileName As String
FileName = InternalClaimsLibrary.FileUtils.FileHelper.CreateFileFromByteArray(DespatchFile.DespatchedImageData, IO.Path.GetFileName(DespatchFile.DespatchedFileName))
.Attachments.Add(FileName)
Next
End With
olMail.Display()
End Sub