This message is for the very few out there who will be migrating from FirstClass server to Exchange.
I created a VB Script that will convert exported messages from FirstClass into a comma delimited file (CSV) that can be imported into Exchange.
FirstClass is not a full featured IMAP server, and thus you cannot migrate Sent emails or emails in folders using the Transporter Suite.
If you have any questions, feel free to contact me: jdombrowski@tkschools.org
Enjoy,
John Dombrowski
I cannot attach a file, so here is the code:
'VB Script to convert Exported FirstClass emails to comma delimated files
'------------------
'Written by John Dombrowski - Thornapple Kellogg Schools - jdombrowski@tkschools.org
'------------------
'Instructions:
'1. Create a Folder on your desktop called 'emails'
'2. Save this file into that folder the folder
'3. Create two (2) files inside the emails folder:
' 1. convertedfinal.csv
' a. Open this file and add the following line: "From","Date","To","Subject","Body"
' 2. temp.txt (you can leave this file blank)
'4. Create a Folder inside the emails folder called 'Exported'
'5. Export your FirstClass Mailbox, Folders, or Individual Emails into the folder created in step 4
'6. Run the convertemails.vbs file
'7. If everything ran properly, the convertedfinal.csv file will contain all of the emails that you exported in a
' comma delimeted file that can then be imported into other email systems.
'---------------------------
'Disclaimer - Use at your own will. I am not responsible for any mishaps that may occur
'---------------------------
'-----------------
'|Start of Script|
'-----------------
'-------------
'Variables
'-------------
Const ForAppending = 8
ForWriting = 2
ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
'-------------
'Opens Exported folder
'-------------
ShowSubfolders objFSO.GetFolder("exported")
'-------------
'Opens each sub folder
'-------------
Sub ShowSubFolders(Folder)
For Each Subfolder in Folder.SubFolders
folderopen = Subfolder.Path & "\content.txt"
count = 0
'-------------
'Opens all txt and cvs files
'-------------
Set objRead = objFso.OpenTextFile (folderopen, ForReading)
Set objWrite = objFso.OpenTextFile("convertedfinal.csv", ForAppending)
Set objTemp = objFso.OpenTextFile("temp.txt", ForWriting)
'-------------
'Loop to read and right data
'-------------
Do While objRead.AtEndOfStream <> True
LineData = objRead.ReadLine
If InStr(LineData, "From:") <> 0 Then
arrData = split (LineData,vbTab)
fn = arrData(0)
fn = arrData(1)
faddress = arrData(2)
fdate = arrData(3)
faddress = Replace(faddress,Chr(34),"")
End If
If InStr(LineData, "Subject:") <> 0 Then
arrData = split (LineData,vbTab)
sn = arrData(0)
ssubject = arrData(1)
'ssubject = arrData(2)
End If
If InStr(LineData, "To:") <> 0 Then
arrData = split (LineData,vbTab)
tn = arrData(0)
tn = arrData(1)
tname = arrData(2)
End If
'-------------
'Starts writing body info on line 5 (you can change if necessary)
'-------------
If count > 5 Then
objTemp.WriteLine (LineData)
End If
'-------------
'Does a count to set the writing of the body information on line 5
'-------------
count = count + 1
Loop
'-------------
'Opens temp file to store body info
'-------------
Set objTempRead = objFso.OpenTextFile("temp.txt", ForReading)
'-------------
'Read and write body info
'-------------
body = objTempRead.ReadAll
body = Replace(body,Chr(34),"")
objWrite.WriteLine(Chr(34) & faddress & Chr(34) & "," & Chr(34) & fdate & Chr(34) & "," & Chr(34) & tname & Chr(34) & "," & Chr(34) & ssubject & Chr(34) & "," & Chr(34) & body & Chr(34))
'-------------
'Rinse and Repeat
'-------------
objRead.Close
objWrite.Close
objTemp.Close
objTempRead.Close
Next
End Sub
'-------------
'End
'-------------
WScript.Echo "Finished"