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
314 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

NAS Cloud Backup Strategies

This article explains backup scenarios when using network storage. We review the so-called “3-2-1 strategy” and summarize the methods you can use to send NAS data to the cloud

Question has a verified solution.

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

Lotus Notes – formerly IBM Notes – is an email client application, while IBM Domino (earlier Lotus Domino) is an email server. The client possesses a set of features that are even more advanced as compared to that of Outlook. Likewise, IBM Domino is…
This article explains how to install and use the NTBackup utility that comes with Windows Server.
The viewer will learn how to successfully download and install the SARDU utility on Windows 7, without downloading adware.
This is used to tweak the memory usage for your computer, it is used for servers more so than workstations but just be careful editing registry settings as it may cause irreversible results. I hold no responsibility for anything you do to the regist…

808 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