Cover V14, i06

Article

jun2005.tar

Migrating to Mozilla Thunderbird

Dennis Roman Gesker

You probably already know that Mozilla Firefox is a Web browser developed and distributed by the Mozilla Foundation. The release of the browser has been met with a warm reception, and there are reports that it has even made some headway in winning market share away from the dominant Microsoft product, Internet Explorer.

You might not know that the Mozilla Foundation has also released a very fine email software product called Thunderbird. This article will outline some of the positive aspects of this software as well as some pitfalls that should be expected by an organization considering a migration to the Thunderbird email product.

Background

The experiences related here represent those of a mid-sized organization with approximately 150 email users that recently adopted Mozilla Thunderbird as its primary email application.

The organization is virtual and dynamic. Most of the organization's members interact with the firm intermittently and for specific projects. The user base is widely distributed and primarily uses notebook computers. Users are responsible for the purchase and maintenance of their own PCs as well as for selecting their own solution for Internet access, with the requirement of being able to access/exchange messages on the organization's email server. As any systems administrator might guess, when users have this level of independence, the situation can create a combination of configurations that is unwieldy and difficult to support. Also, as is often the case, system support for end users is in short supply.

Server Configuration

The firm is cost-conscious and willing to accept solutions other than those proposed or made available by the largest single software supplier, Microsoft. Instead, the company uses an email solution based on the Debian/GNU Linux distribution using Postfix for SMTP AUTH and Courier for IMAP. SMTP AUTH is authenticated simple mail transport protocol that is useful for this organization because it requires the end users to authenticate before uploading messages for delivery to others inside and outside the organization. IMAP is the Internet mail application protocol that allows the users to retrieve, store, and manage their email in such a way that all messages still reside on the server. All communication with the server uses SSL/TLS or transport layer security.

Seeking a Common Solution

Even though the server side of this mail system setup was standard, the client side was a mish mash. While the majority of the end users use Microsoft Windows and a significant portion also use Microsoft Outlook, the varied combinations presented a considerable support challenge. This situation existed for a number of reasons.

First, there are a many different versions of Microsoft Windows still in use to varying degrees: Windows 98, Windows Me, Windows 2K, and Windows XP. All of these "flavors" may also be at varying patch levels. (As an aside, I find it interesting that the situation of various products at varying levels of development in the Unix world is often portrayed as in intolerable fragmentation, while that situation is acceptable within the product line of a single company. Certainly there is a double standard where Microsoft is concerned. Others have addressed this issue in excruciating detail, so I won't diverge from the main theme of this article other than to point out that this situation significantly contributed to the challenge facing the company.)

Second, most of the users were using some version of Microsoft Outlook. Some used Outlook Express, considered a "light" version of the Microsoft Outlook that ships with the Microsoft Internet Explorer browser package. Microsoft Office package users had versions ranging from Microsoft Outlook 97 to Microsoft Outlook 2003. The "light" version of Outlook, however, seemed to be better than the "full" versions when it came to accessing the IMAP server. Here is an illustration of how the "light" and "full" versions differed in capability with regard to IMAP -- when users employed Outlook Express to send a message, the sent message was stored on the server in a folder named "Sent Items". Users who employed a recent version of the full Outlook package also had their items stored in a folder named "Sent Items", but the messages were stored on the user's local drive rather than on the server.

Third, ISPs seem to take a very wide-ranging approach to setting up a user's PC for use with their networks. These approaches ranged from simply providing a set of instructions (varying in quality), to fully automating (also varying in quality) the setup of a user's PC. Both approaches caused issues. One particular set of ISP instructions recommended deleting/removing any other email account that existed in the user's mail setup. At least one of the automated setup routines didn't bother to ask before removing existing accounts. Users trying to add the firm's email settings had experienced confusion to different extents. In one case, the firm's mail settings were detected and deleted every time the user clicked on the ISP's connect icon! In general, most of these ISPs assumed the users employed some form of Outlook as their email client.

Fourth, there were instances when users were unable to communicate with the company's SMTP server on its traditional port (port 25), because that port was blocked by their ISP. I can only assume that this was in some effort to limit spam circulating on these networks. This port blocking exacerbated the troubles of some users, because it appears that Outlook Express is unable to use SSL/TLS on ports other than port 25. We learned this when we tried to circumvent the port 25 blockage by opening a port for SMTP AUTH traffic on a higher, alternate port number.

Fifth, even though Outlook Express is free as part of the Internet Explorer package, it didn't make sense to try to standardize on a client that was only available on the Microsoft platform. It seemed that for every user running an older version of Microsoft Windows, there was a user who had switched to the Macintosh or Linux platform. An interesting predicament for this project, but I suppose it makes for a nice bell curve.

Sixth, as mentioned above, technical support was under considerable cost pressure and resources simply weren't available to support the wide variation in platforms and software. Alternatively, developing written instructions for every combination and letting users self-support didn't seem practical. From the organization's point of view, there needed to be a balance between remaining "virtual", allowing users independence in selecting their own technology, and having all users heavily and regularly relying on the company for support. It also didn't seem appropriate to the business managers to mandate that users purchase an alternative, despite the fact that some very fine IMAP client software could be obtained relatively cheaply. For instance, the Mulberry IMAP software could have been purchased for the entire organization as it stood at the time for less than $2300.

Mozilla Thunderbird: Magic Bullet?

With one shot, it seemed that we could address all of the main issues that presented obstacles or created confusion. Thunderbird is freely available, fast, stable, and multi-platform with a consistent user interface across platforms. It's capable of using the SMTP AUTH and IMAP protocols over SSL/TLS and can use SMTP AUTH and IMAP protocols on any port for which the client software is configured. That's a lot of positive attributes! Plus, most ISP setup directions and install procedures ignored Mozilla. This was a benefit because once Mozilla was set up; it remained configured regardless of subsequent changes made to Outlook or ISP.

So, was Thunderbird the magic bullet we were looking for? Almost. Despite all of Thunderbird's well-implemented and positive attributes, there were some issues that had the potential to force an organizational roll back. The most significant issues were all related to incompatibilities with Microsoft products. The bug report id numbers in Mozilla's bug tracking system that presented the most difficulties were:

1. Files sent as attachments from within Microsoft applications arrived at the recipient as "tmp" files. Bug number 273849.

2. Inability to open messages previously saved to the desktop by Microsoft Outlook ("eml" files) by double-clicking on the message (which is to say that the Thunderbird didn't register the eml extension). Bug number 26201.

3. Opening messages previously saved to the local drive either by Thunderbird or Microsoft Outlook from within Thunderbird (File... Open Saved Message...) opened the saved message but did not allow access to the attachment if one existed. Bug number 239685.

4. Mozilla Thunderbird is unable to open/process ms-tnef files that appear to the end users usually as winmail.dat files. Bug number 77811.

We addressed these issues with mixed results. Our first problem (bug 273849) was corrected very quickly after the 1.0 release of Mozilla Thunderbird. Instead of using the release posted on the main product page for Mozilla, we used one of the nightly builds, specifically version 1.0 (20041224) or rather stated the build released on 2004-Dec-24. Problem solved.

The second problem (bug 26201) was a bit of a surprise for us and affected only a few users, although they were affected significantly. A handful of our users had numerous (hundreds) "eml" files saved into directories on their local hard drives that spanned many years. This was a surprise because of the server's use of IMAP. The assumption (poorly made) was that users were managing their messages and that all messages were stored on the server. These users were using the POP protocol that had been running previously on the server and saving their email messages as "eml" files from within Outlook. This bug presented itself when a user would double-click on a saved "eml" file and Outlook Express, rather than Thunderbird would launch..

Our third (bug 239685) issue is closely related to our second issue. There is a workaround in Thunderbird whereby a user can open an "eml" file by choosing "File" and selecting "Open Saved Message". The file does indeed open, but the message is often incorrectly formatted and the user is unable to retrieve any attachment that was stored with the message. Apparently, there are many issues surrounding "eml" files (see bug 29286). Considering the speed with which Mozilla foundation applications seem to evolve, however, it's probably a safe guess that work is continuing with regard in this area.

Presently, we plan to migrate these particular users back to Outlook Express if these issues (bug 26201 and 239685) are not resolved on Mozilla's next release. Unfortunately, these users are also in the group of users whose ISP's block port 25. Because Outlook Express has difficultly with SSL/TLS on ports other than 25, we will likely have to create yet another AUTH SMTP port on a high port number that doesn't require the user to employ SSL/TLS. This would be a disappointing setback because it is a regress not only of our new found uniformity but also of security.

Finally, our fourth problem (bug 77811) that is pressuring a downgrade is Thunderbird's inability to deal with ms-tnef encoding. Ms-tnef is the Microsoft alternative to mime encoding, see:

http://support.microsoft.com/default.aspx?scid=kb;en-us;241538
used by the "full" version of MS-Outlook when messages are formatted using Rich Text Format. What is strange about ms-tnef is that while this encoding is generated in the full version of Outlook, even Outlook Express is unable to decode these files properly. It seems odd that Microsoft would have an incompatibility of this kind within a single product line, yet it does. We were a bit surprised by the number of ms-tnef messages we received. Fortunately, there are (not always perfect) ways to work around ms-tnef encoding.

MS-TNEF Encoding Solutions

To solve ms-tnef encoding incompatibilities, an organization can either install software on the client that will assist in decoding ms-tnef files or install software on the server that will translate the ms-tnef encoded files to standard mime. The best approach is to use both methods.

At the server level, there are two alternatives that do a very fine job of translating this ms-tnef encoding. Both alternatives are scripts written in Perl. In both cases, email is filtered through these scripts either directly or indirectly. The first script is tnefclean.pl:

http://www.dread.net/~striker/tnefclean
which seems to catch most of the offending messages. In the system described here, Maildrop is used for final delivery to the user's Maildir store. The author of this very useful program includes an install script that makes installation a snap. After the script is installed, an appropriate xfilter entry to the maildroprc configuration file is required. On a Debian/GNU system, you will likely find the maildroprc file at /etc/courier/maildroprc. On this system, the xfilter entry is:

xfilter "/usr/local/bin/tnefclean.pl -f"
I've exchanged a few short emails with the author of tnefclean.pl and asked whether he plans to contribute the script as a package to the Debian/GNU project. I hope he does as it would make a useful addition.

The second script that can be used to re-encode ms-tnef files is tnef2multipart.pl; see:

http://www.advosys.ca/papers/filter-misc/tnef2multipart.pl
This is most often used and distributed with the Anomy Sanitizer program:

http://mailtools.anomy.net/sanitizer.html
Both can be installed easily on a Debian system using the commands:

# aptitude update
# aptitude install sanitizer
After installing sanitizer, some additional steps are required to make use of this tnef-altering script:

1. Create a configuration file for the sanitizer program.

2. Add a rule to the configuration file to filter winmail.dat files through the tnef2multipart.pl script.

3. Make a symbolic link to the script.

4. Add an xfilter entry to the maildroprc file.

The rule for the anomy sanitizer configuration indicated at the beginning of the tnef2multipart.pl script is:

file_list_1 = (?i)(winmail.dat)
file_list_1_policy = accept:drop:drop:drop
file_list_1_scanner = 0:::/usr/local/bin/tnef2multipart.pl %FILENAME
However, when the sanitizer program is installed on Debian, the tnef2multipart.pl script is installed at /usr/share/sanitizer/contrib/tnef2multipart.pl. Just create a symbolic link in the /usr/local/bin directory by issuing the following command:

# ln -s /usr/share/sanitizer/contrib/tnef2multipart.pl \
  /usr/local/bin/tnef2multipart.pl
As with the tnefclean.pl script, you'll need to add an xfilter entry to your maildroprc file. However, this time you're going to call the sanitizer program that uses a rule similar to the one indicated above to in turn call the tnef2multipart.pl script. On this server, the xfilter entry is:

xfilter "/usr/bin/sanitizer /etc/sanitizer/sanitizer.cfg"
Using these scripts together should handle the majority of your ms-tnef/winmail.dat problems. However, there are a couple of programs that can be installed on the end-user's PC to deal with any ms-tnef encoded files if they slip through -- Fentun and Wmparser. Both of these programs are possible solutions at the user's PC, however, it would be much nicer if the developers at the Mozilla foundation would simply increase the functionality of Thunderbird to allow it to handle ms-tnef encoding directly.

I imagine that there is some resistance to including support for ms-tnef encoding because bug number 7811 has been listed in the Mozilla bug database tracking system since July of 2002. This is truly in contrast to the typically quick fashion of how the Mozilla Foundation addresses and resolves most bug issues.

Conclusion

Mozilla Thunderbird is a very strong product. It's a fine solution for any firm looking to unify its user base onto a common email client. It has many fine attributes. For example, it is freely available, fast, stable, and multi-platform with a consistent user interface across platforms. It's capable of using the SMTP AUTH and IMAP protocols over SSL/TLS, and can use SMTP AUTH and IMAP on any port to which the software is assigned and/or configured.

However, Mozilla Thunderbird does have some pretty sharp shortcomings related to compatibility with Microsoft products. These shortcomings go well beyond the typical end-user response of "It doesn't work the way my old software worked."

If the workarounds presented in this article are sufficient, or these issues are addressed directly by the application's developers, Mozilla Thunderbird should be considered as an alternative to almost any existing email client. Migrating to this product might even be considered, along with its Mozilla Firefox Browser cousin, as a first step for organizations looking to migrate off the Microsoft operating system and application platform.

The benefits of migrating from a myriad of email client software to Mozilla Thunderbird for this organization, which operates technologically in a loose and virtual fashion, clearly outweigh the rough edges of this quickly evolving software package.

Resources

Courier -- http:// http://www.courier-mta.org

Debian/GNU Linux -- http://www.debian.org

Fentun -- http://www.fentun.com

Maildir -- http://www.courier-mta.org/mbox-vs-maildir/

Maildrop -- http://www.courier-mta.org

Microsoft Windows -- http://www.microsoft.com

Mozilla Foundation -- http://www.mozilla.org

Mozilla's bug tracking system -- http://bugzilla.mozilla.org

Postfix -- http://www.postfix.org

SSL/TLS -- http://www.openssl.org

Wmparser -- http://www.magicwinmail.net/wmparser/download.php

Dennis Roman Gesker is presently employed as the Manager -- Special Projects for a mid-sized telecommunications contracting firm. He holds an MBA and a Masters in the Management of Information Systems from Katz GSB at The University of Pittsburgh. Dennis can be reached by email at: dennis@gesker.com.