• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 338
  • Last Modified:

I need to extract the contents of a mailbox to a CSV file (Dates,Subject,From, To, Body)

My boss requires the ability to export the contents of a mailbox to a CSV file, I have tried using Outlook, but it does not include dates and times in the export.
I have tried using get external data with access and the infromation level is correct, but there is only 65000 characters a row.
Right clicking and saving the email gives the right data, but not in a usable format
Could anyone suggest  a way of doing this?
Thanks
Mike
0
mikesjn
Asked:
mikesjn
  • 2
  • 2
1 Solution
 
isdiCommented:
Hello Mike,

My suggestion is to write a script using VBS or an application using some language that can instantiate COM objects to extract the data as required.
0
 
mikesjnAuthor Commented:
Have you any code samples, I can do very basic VBS, but I am lost after that. Someone suggested PERL, but they may as well have said Latin.
Thanks
Mike
0
 
isdiCommented:
Hello Mike,

Save the code snippet with the '.vbs' extension. Execute it from the command line. You should first be asked to allow the script access to your email. Then you should see five message boxes showing some of the email.

This should get you started.
You'll also have to learn how to write data to a file. Search for 'File System Object'.  Search Google and msdn.microsoft.com

I don't know this site but this page talks briefly about the process:
http://www.activecallcenter.com/manual/306.htm

Here is a google search that should help:
http://www.google.com/search?num=100&hl=en&safe=off&q=vbs+Outlook+Email+Read&btnG=Search

In essence there are several things you will have to learn about *or* you will have to hire someone that knows about them.

All the above is just enough to get you started, but if you can write basic VBS then it should not be too much of an issue.


-isdi-
Dim oOutlook
Dim oNamespace
Dim oInbox
Dim oItem
Dim sTemp1 
Dim iLimit
 
Const olFolderInbox = 6
 
	SET oOutlook = CreateObject("Outlook.application")
	SET oNamespace = oOutlook.GetNameSpace("MAPI")
	SET oInbox = oNamespace.GetDefaultFolder(olFolderInbox)
 
 
	For Each oItem in oInbox.Items
		If iLimit = 5 Then Exit For
			sTemp1 = "From:  " & oItem.SenderName & vbCrLf
			sTemp1 = sTemp1 & oItem.Subject & vbCrLf
			sTemp1 = sTemp1 & "Attachment Count = " & oItem.Attachments.Count & vbCrLf & vbCrLf 
			sTemp1 = sTemp1 & oItem.Body
			Msgbox sTemp1
			iLimit = iLimit + 1
	Next
 
	SET oInbox = Nothing
	SET oNamespace = Nothing
	SET oOutlook = Nothing

Open in new window

0
 
mikesjnAuthor Commented:
Thanks for that, great help. Got it working.
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now