Solved

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

Posted on 2008-10-24
4
306 Views
Last Modified: 2011-10-03
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
Comment
Question by:mikesjn
  • 2
  • 2
4 Comments
 
LVL 1

Expert Comment

by:isdi
ID: 22795282
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
 

Author Comment

by:mikesjn
ID: 22795387
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
 
LVL 1

Accepted Solution

by:
isdi earned 500 total points
ID: 22807013
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
 

Author Closing Comment

by:mikesjn
ID: 31509583
Thanks for that, great help. Got it working.
0

Featured Post

Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Following basic email etiquette rules will help you write a professional email and achieve a good, lasting impression with your contacts.
In this article, you will read about the trends across the human resources departments for the upcoming year. Some of them include improving employee experience, adopting new technologies, using HR software to its full extent, and integrating artifiā€¦
The video tutorial explains the basics of the Exchange server Database Availability groups. The components of this video include: 1. Automatic Failover 2. Failover Clustering 3. Active Manager
The viewer will learn how to successfully download and install the SARDU utility on Windows 8, without downloading adware.

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question