Microsoft commits to releasing Outlook PST format

This is big news, particularly if you’ve ever tried to convert an OST file to a PST file.

… In order to facilitate interoperability and enable customers and vendors to access the data in .pst files on a variety of platforms, we will be releasing documentation for the .pst file format.  This will allow developers to read, create, and interoperate with the data in .pst files in server and client scenarios using the programming language and platform of their choice.  The technical documentation will detail how the data is stored, along with guidance for accessing that data from other software applications.  It also will highlight the structure of the .pst file, provide details like how to navigate the folder hierarchy, and explain how to access the individual data objects and properties….
- Paul Lorimer, Group Manager, Microsoft Office Interoperability

Bookmark and Share

Equipment Superior To User

I had to change an email account password in CPanel, and I could not get my email client to connect to the mail server.
In the end, I proved that CPanel and my email client were much smarter than me.

This was what I did:

  1. First went in the change password screen:
    password-screen-1
  2. Hit the generate password button
    password-screen-2 (more…)

I don’t know how they got a TAB into the filename,

but they did.

Had a report from a user of LNME, that LNME was producing an error message, then crashing.
lnme-error-message

The cause that an message attachment had a TAB character in it’s filename, and Windows wouldn’t accept that, so it would error.
(how the TAB got into an attachment name is another question… , for another day)

Now, if you believe Windows, there is only a small number of characters it doesn’t like in file names:
A file name cannot contain any of the following characters: \ / : * ?  < > |
… which proves to be utter tosh.  And Microsoft provides you with the proof with the Path.GetInvalidFileNameChars method.

If you use the Path.GetInvalidFileNameChars method, it will tell you there are actually 41, including both TABs.

So now, before LNME writes out the message and attachment files, LNME will now check them for more invalid characters.

What this means is …
You shouldn’t notice MUCH difference in speed, as originally I was blindly checking every filename by doing something like this:

If FilenameField <> “” Then
‘Trim Leading and Trailing space from FilenameField Field
FilenameField = FilenameField.Trim

FilenameField = Replace(FilenameField, “/”, “[SLASH]“)
FilenameField = Replace(FilenameField, “\”, “[BACKSLASH]“)

End If

Now I check first to see if the FilenameField has invalid characters, and if so, then do the replacement of “invalid” characters.

‘ get the list of invalid characters for this operating system
cInvalidFileNameChars = System.IO.Path.GetInvalidFileNameChars

‘ check if any of the invalid characters are in our FilenameField
iReturnValue = FilenameField.IndexOfAny(cInvalidFileNameChars)

‘ >0 means that we found some invalid characters.
If iReturnValue >= 0 Then
If FilenameField <> “” Then
‘Trim Leading and Trailing space from FilenameField Field
FilenameField = FilenameField.Trim

FilenameField = Replace(FilenameField, “/”, “[SLASH]“)
FilenameField = Replace(FilenameField, “\”, “[BACKSLASH]“)

End If
End If

The performance improvement appears because the majority of Subject and Attachments are correctly named, so the previous blind check will be skipped.

You can download the fixed LNME, here.

Bookmark and Share

How to convert an OST file to a PST file

(if you don’t know what an OST file is, see below)

There are four options, one of these below might work for you.
NOTE: This is a work in progress post.  It will be updated when I learn something.

The OST2PST conversation method.

  1. Backup ost file(s)
  2. Rename outlook.ost to outlook.pst
  3. Use scanpst.exe from Outlook 2002 (in C:\Program Files\Common Files\System\Mapi\1033) to repair outlook.pst
    (You can always copy scanpst.exe from an alternative installation, include MAPI32.DLL and GAPI32.DLL)
  4. Rename outlook.pst back to outlook.ost
  5. Run OST2PST which will then convert the file successfully to outlook.pst
  6. Outlook can then open the outlook.pst file

Sources:
MS Exchange Blog: OST to PST
Geeks To Go: Converting Outlook .OST files to .pst

This method may not work with Outlook 2003 or later OST files.

Modify the header file method
The type of Outlook file, whether it is a PST or OST, is stored in the header of the file.
It might be possible to modify the header, and open the modified file in Outlook.

The file format has been documented in “Personal Folder File (PFF) forensics” by Joachim Metz.

Compile and use the pffexport program method
“Extracts items from a Personal Folder File (OST or PST)”.  See the libpff site.

Buy any number of commercial products method.
I’ve tried none of these.  You are on your own.

Product Name Cost (in US Dollars)
Recovery Toolbox for Outlook $50 –> $90
Kernel Recovery for OST $249 –> $399
Recover Data for OST to PST $99 –> $299
Advanced Exchange Recovery $250
Quick Recovery for OST to PST $129 –> $229

So what is an OST file then?
If you’re asking this question, you probably don’t need to know.  :-)

An Outlook Offline Storage Table (OST) file is a copy of your Exchange email account.  This copy allows you to access your (offline) email while you are not connected to a network.  Such as when you are travelling..

Update October 2009: Roadmap for Outlook Personal Folders (.pst) Documentation

Bookmark and Share

v0.6 is out the door: Lotus Notes Mail Exporter

Lotus Notes Mail Exporter - Version 6 screenshoot

The major change is that LNME now supports exporting messages from a particular date.

Date to export from
Why Sunday, 1 January 1989?
Lotus Notes 1.0 was released in 1989, and I’m making the assumption that you won’t have messages older that.

Delayed Write Errors
If you get “Delayed Write Errors” from Windows, it most likely means that you’re running LNME over a network, and the network is having issues.

For the technically minded, this seems to occur when you are extracting attachments.  The culprit is the Lotus Notes ExtractFile function.  It loses the network, or causes the network to drop out.  I could write a bit of code to detect if the network is still there before calling ExtractFile, but it will be a massive performance hit.

The workaround? Ensure that the “Output Folder” is written to the local PC.

What’s next?
I’d really like to get “Export to Outlook”  & “Export Task entries” implemented.  It’s just a matter of finding the time.

Where do you get it?
By clicking here, and then clicking the download link.

Bookmark and Share

1 ream of paper = 6% of a tree

Please think before you print: 1 ream of paper = 6% of a tree and 5.4 kg CO2 in the atmosphere, 3 sheets of A4 paper = 1 litre of water

- as seen in a recent email signature.

Bookmark and Share

Lotus Notes Mail Exporter

is a small program I’ve written to export attachments and emails from the Lotus Notes email client.

Now there are commercial programs which can do the same thing, but since I had a little time on my hands, I wrote LNME.  Learnt a bit about Lotus Notes programming at the same time.

It’s difficult to code for Lotus Notes, which is why you don’t see many code examples on the internet.

And I found that Visual Studio 2008 is more forgiving of syntax errors than VS 2005.  Things which would just work in VS 2008, would throw an exception in VS 2005.

When I get some more time, I will be making further improvements to LNME.

Anyhow, you can read further about LNME, and download it, here.

Bookmark and Share

What Lotus Notes email files I backup

Filename Why
notes.ini the basic configuration document for Notes
desktop5.dsk this file contains the configuration of your workspace or "desktop"
names.nsf this is your LOCAL address book, the one that contains all of your personal contacts, location and connection documents
any other .nsf these files would be local copies of databases (i.e. your local mail file replica, your archive files)

Bookmark and Share

Spam Matters – How to report spam.

If you believe MessageLabs, 73% of the 0 billion messages it scanned, in February, were unsolicited bulk emails.  SPAM in other words!

In Australia:

Under the Spam Act 2003 it is illegal to send, or cause to be sent, unsolicited commercial electronic messages. The Act covers email, instant messaging, SMS and MMS (text and image-based mobile phone messaging) of a commercial nature. It does not cover faxes, internet pop-ups or voice telemarketing.

Never fear, Australian Communications and Media Authority (ACMA) to the rescue with SpamMATTERS

The SpamMATTERS software:

  • is free for internet users to download and install into the Microsoft Outlook and Outlook Express email programs. Once installed, you can delete spam and report it to ACMA at the same time – with just one click of the mouse
  • captures spam emails that may have bypassed spam filters and anti-spam programs, including messages that are often the most problematic, such as phishing spam
  • enables ACMA to identify and gather the forensic information it needs to identify spammers and take action against them.  

Download it here

This post brought you to the letters S M E E.

nPing – Diagnosing Lotus Notes network problems

Lotus Notes client didn’t work at the Frensham Pond Hotel, when I stayed there.

Long story short

  • Ports 80/443 worked, so I was able to “surf” the web.
  • Port 1352 blocked

How did I know?

  • I used nPing.exe, and this is what a failure looks like
    nping-failure
  • A successful nPing looks like this:
    nping-success
    (and your Lotus Notes client should work)

The fix?

  • None, unfortunately.  The Hotel’s ISP blocked everything except ports 80 & 443.

nPing is part of the NotesConnect toolset and can be found via this weblink:
Testing TCP/IP connections with NotesCONNECT
Bookmark and Share

Page 1 of 212»

Calendar

March 2010
S M T W T F S
« Feb    
 123456
78910111213
14151617181920
21222324252627
28293031