[Android Software Development] cooltide:
Dear all,

I guess many of us have already stumbled over "winmail.dat" or "attxxxx.dat" attachments in our Android email clients.

These attachment names usually occour, when somebody who is using a Microsoft Outlook EMail client sends you an certain RTF (rich text format) email with attachments. MS Outlook then packs these attachments into a TNEF (Transport-Neutral Encapsulation Format) envelope. Other MS Outlook Clients can deal with this format, but, however, most of the other email clients cannot! They will receive instead an attachment with the above mentioned naming and can basically do nothing with it.

While this is a well known (and annoying) circumstance there are already plug-ins for many open email clients such as Mozilla Thunderbird. For Android however there seemed to be nothing (and I have been doing quite some research on it).

So I finally decided to write my own app to deal with TNEF attachments. Luckily there was already an existing Java package which could do the extraction job so that I "only" had to create the Android app around it and do some debugging on the original code. My kudos here go to Amichai Rothman for his Java TNEF package (http://www.freeutils.net/source/jtnef/)!!

I originally created this application for my own purposes but then I thought it is worth while sharing it with the community. It is already bi-lingual (english and localized to german) and should get its job done.

The app itself registers as a handler for *.dat or *.DAT files and for email attachments. When you e.g. try to open a "winmail.dat" attachment from within your Android email client or a "winmail.dat" file with your file browser the app should be launched or you see a chooser box where you can select this app. When you do so you will see an alert box. When you press "Ok" the app will try to extract the contents of "winmail.dat" to a local folder. The default for this folder is "/sdcard/winmail". After it has successfully completed the extraction the app leaves a notification. When you open the the notification it will show you the contents of the target folder in another alert box. You can then use any file manager to browser to the target directory to access the real attachments out of the "winmail.dat" envelope.

If you launch the app directly it will present you a setup screen with some explanation on it and the possibility to specify your own target directory to where the extracted files should go.

The only system privilege that the app acquires upon installation is to be able to write to the external storage (sdcard). So it does not really have the chance to do severe harm to your device :cool:

If you have any questions please feel free to ask. Likewise I'd be interested in any feedback.

New release:

Winmail 2.1 (Donation Version)

In addition to the free version this version adds the following features:

Appointments / Calendar Items extracted into standard *.ics files (VCALENDAR industry standard) which can be imported into the device calendar

Enable / disable file browser in preferences

Launch file browser from within preferences

Browse extraction directory and subdirectories

Tap on files tries to open them according to mime type

Long tap on files opens context menu (open with, rename, send, delete)

Download:

Google Play Link Free Version

Google Play Link Donate Version

Older releases:

Winmail 1.0

some code cleanup

stability improvements

tapping on the explanation screen will launch this thread in web browser

Winmail_0.9.2

Changelog:

added the capability to extract vcards

added the capability to process/extract "multipart/*" type mime files

added user preference whether the app should create an own subdirectory for each file/mail

Winmail_0.9.1

Changelog:

added the capability to extract the message body text in either *.txt, *.html or *.rtf format depending on the original type. The message is written to the extraction directory and its file name contains the actual date and time to be able to distinguish the message files

some minor UI tweaks

Enjoy!

cooltide