我的目的是将昨天的邮件项目复制到我的计算机中的外部文件夹,我在"mailitem = Item"
中遇到此错误。
以下是我的代码:
Dim service As New ExchangeService(ExchangeVersion.Exchange2010_SP2)
service.Credentials = New WebCredentials("user", "Password", "domain")
service.AutodiscoverUrl("acce@pac.com.in")
Dim pageSize As Integer = 100
Dim offset As Integer = 0
Dim view As New ItemView(pageSize, offset)
Dim returnValue As FindItemsResults(Of Item)
returnValue = service.FindItems(WellKnownFolderName.Inbox, view)
Dim subject As String
Dim receiveDate As Date
Dim maxDate As Date = getLatestDate()
For Each Item In returnValue
receiveDate = Item.DateTimeReceived
If receiveDate > maxDate Then
Dim strDirPLE As String
Dim strDirCust As String
Dim strSaveName As String
strDirPLE = "D:test1"
strDirCust = "D:test2"
Dim mailitem As Microsoft.Office.Interop.Outlook.MailItem
mailitem = Item
subject = Item.Subject.Replace(":", "")
subject = Item.Subject.Replace(".", "")
strSaveName = subject & Format(Now, " ddmmyyyyhhnnss") & ".msg"
If (mailitem.From.Contains("@pac.com.in")) Then
If (Item.Subject.Contains("CId") AndAlso Item.Subject.Contains("pId")) Then
mailitem.SaveAs(strcon1)
Else
mailitem.SaveAs(strcon2)
End If
End If
End If
Exit For
Next
End Sub
错误
无法施放类型的对象'Microsoft.exchange.webservices.data.emailmessage'键入'Microsoft.office.interop.outlook.outlook.mailitem'
我建议将其保存为EML而不是MSG。对不起,vb.net不是我的母语。
Shared Sub ExportMIMEEmail(service As ExchangeService)
Dim inbox As Folder = Folder.Bind(service, WellKnownFolderName.Inbox)
Dim view As New ItemView(1)
view.PropertySet = New PropertySet(BasePropertySet.IdOnly)
' This results in a FindItem call to EWS.
Dim results As FindItemsResults(Of Item) = inbox.FindItems(view)
For Each item As var In results
Dim props As New PropertySet(EmailMessageSchema.MimeContent)
' This results in a GetItem call to EWS.
Dim email = EmailMessage.Bind(service, item.Id, props)
Dim emlFileName As String = "C:exportemail.eml"
' Save as .eml.
Using fs As New FileStream(emlFileName, FileMode.Create, FileAccess.Write)
fs.Write(email.MimeContent.Content, 0, email.MimeContent.Content.Length)
End Using
Next
End Sub
这是根据https://msdn.microsoft.com/en-us/library/office/dn672317(v = exchg.150)9.aspx?f=255&mmspperr = 2147217396