LS,
Ik ben bezig met een VB.Net programma dat van mijn Outlook alle mails exporteert naar losse bestanden op de harde schijf. Zodoende kan ik mijn .pst bestanden opruimen (zijn nu veel te groot) en ook voor het back-up'en van mijn pc is dat een stuk makkelijker. Dan kan ik mijn mails op CD zetten en daarop gebruiken (iets wat niet kan met de .PST bestanden van Outlook).
Op zich lukt dit allemaal erg goed, maar er is één veld dat ik niet altijd goed krijg. Het gaat hierbij om het mail adres van de afzender. Soms is deze goed gevuld, waarbij ik hem dan kan afleiden uit het eerste ReplyReciepients.Address, maar vaak ook is deze leeg. Er bestaat een API ReplyRecipientAddress, maar deze is niet gevuld of geeft een foutmelding.
Kan iemand me hier bij helpen? Ik hoef niet om het security model heen, ik vind het juist wel goed dat Outlook aangeeft dat er iets gebeurt, maar om mijn export mogelijk te maken wil ik ook graag dat dit afzender mail adres gevuld is.
Hierbij wat code die ik gebruikt heb:
For iMail = 1 To pstFolder.Items.Count()
Try
mailItem = pstFolder.Items.Item(iMail)
PrintLine(iExport, "SenderName: " & mailItem.SenderName )
PrintLine(iExport, "ReplyRecipients.Count: " & mailItem.ReplyRecipients.Count )
If mailItem.ReplyRecipients.Count > 0 Then
PrintLine(iExport, "ReplyRecipients.Item(1).Address: " & mailItem.ReplyRecipients.Item(1).Address )
End If
PrintLine(iExport, "Sender: " & mailItem.Sender.ToString() )
PrintLine(iExport, "SenderEmailAddress: " & mailItem.SenderEmailAddress )
PrintLine(iExport, "ReplyRecipientNames: " & mailItem.ReplyRecipientNames )
PrintLine(iExport, "Sent: " & mailItem.Sent )
PrintLine(iExport, "SentOn: " & mailItem.SentOn )
PrintLine(iExport, "SentOnBehalfOfName: " & mailItem.SentOnBehalfOfName )
PrintLine(iExport, "Size: " & mailItem.Size )
Dim iTel As Integer
Dim tmpRecipient As Outlook.Recipient
PrintLine(iExport, "Recipients.COUNT: " & mailItem.Recipients.Count )
PrintLine(iExport, "ReplyRecipients.COUNT: " & mailItem.ReplyRecipients.Count )
PrintLine(iExport, "UserProperties.COUNT: " & mailItem.UserProperties.Count )
PrintLine(iExport, "ItemProperties.COUNT: " & mailItem.ItemProperties.Count )
PrintLine(iExport, "Links.COUNT: " & mailItem.Links.Count )
For iTel = 1 To mailItem.ReplyRecipients.Count
tmpRecipient = mailItem.ReplyRecipients.Item(iTel)
PrintLine(iExport, "ReplyRecipients." & iTel & ".Address: " & tmpRecipient.Address )
PrintLine(iExport, "ReplyRecipients." & iTel & ".Name: " & tmpRecipient.Name )
PrintLine(iExport, "ReplyRecipients." & iTel & ".Type: " & tmpRecipient.Type )
Next
Catch e As Exception
PrintLine(ilog, "ERROR PROCESSING ITEM")
End Try
Next
Elke werkende suggestie
wordt erg op prijs
gesteld.
Bij voorbaat dank,
Richard.vL
Ik ben bezig met een VB.Net programma dat van mijn Outlook alle mails exporteert naar losse bestanden op de harde schijf. Zodoende kan ik mijn .pst bestanden opruimen (zijn nu veel te groot) en ook voor het back-up'en van mijn pc is dat een stuk makkelijker. Dan kan ik mijn mails op CD zetten en daarop gebruiken (iets wat niet kan met de .PST bestanden van Outlook).
Op zich lukt dit allemaal erg goed, maar er is één veld dat ik niet altijd goed krijg. Het gaat hierbij om het mail adres van de afzender. Soms is deze goed gevuld, waarbij ik hem dan kan afleiden uit het eerste ReplyReciepients.Address, maar vaak ook is deze leeg. Er bestaat een API ReplyRecipientAddress, maar deze is niet gevuld of geeft een foutmelding.
Kan iemand me hier bij helpen? Ik hoef niet om het security model heen, ik vind het juist wel goed dat Outlook aangeeft dat er iets gebeurt, maar om mijn export mogelijk te maken wil ik ook graag dat dit afzender mail adres gevuld is.
Hierbij wat code die ik gebruikt heb:
For iMail = 1 To pstFolder.Items.Count()
Try
mailItem = pstFolder.Items.Item(iMail)
PrintLine(iExport, "SenderName: " & mailItem.SenderName )
PrintLine(iExport, "ReplyRecipients.Count: " & mailItem.ReplyRecipients.Count )
If mailItem.ReplyRecipients.Count > 0 Then
PrintLine(iExport, "ReplyRecipients.Item(1).Address: " & mailItem.ReplyRecipients.Item(1).Address )
End If
PrintLine(iExport, "Sender: " & mailItem.Sender.ToString() )
PrintLine(iExport, "SenderEmailAddress: " & mailItem.SenderEmailAddress )
PrintLine(iExport, "ReplyRecipientNames: " & mailItem.ReplyRecipientNames )
PrintLine(iExport, "Sent: " & mailItem.Sent )
PrintLine(iExport, "SentOn: " & mailItem.SentOn )
PrintLine(iExport, "SentOnBehalfOfName: " & mailItem.SentOnBehalfOfName )
PrintLine(iExport, "Size: " & mailItem.Size )
Dim iTel As Integer
Dim tmpRecipient As Outlook.Recipient
PrintLine(iExport, "Recipients.COUNT: " & mailItem.Recipients.Count )
PrintLine(iExport, "ReplyRecipients.COUNT: " & mailItem.ReplyRecipients.Count )
PrintLine(iExport, "UserProperties.COUNT: " & mailItem.UserProperties.Count )
PrintLine(iExport, "ItemProperties.COUNT: " & mailItem.ItemProperties.Count )
PrintLine(iExport, "Links.COUNT: " & mailItem.Links.Count )
For iTel = 1 To mailItem.ReplyRecipients.Count
tmpRecipient = mailItem.ReplyRecipients.Item(iTel)
PrintLine(iExport, "ReplyRecipients." & iTel & ".Address: " & tmpRecipient.Address )
PrintLine(iExport, "ReplyRecipients." & iTel & ".Name: " & tmpRecipient.Name )
PrintLine(iExport, "ReplyRecipients." & iTel & ".Type: " & tmpRecipient.Type )
Next
Catch e As Exception
PrintLine(ilog, "ERROR PROCESSING ITEM")
End Try
Next
Elke werkende suggestie
Bij voorbaat dank,
Richard.vL