The choice of email platform

I work for Microsoft.  That means I deal with a lot of Microsoft technology.  I know how to use some of the more esoteric features of our software, like Pivot Tables in Excel (which are fantastic), how to create custom blocks in Visio, and how to use Microsoft Project.  But I don't just use MS software, I use WinRAR for file compression because it can decompress gzipped tar files (ie, files that are compressed in Linux).  I use a lot of Linux for doing internet lookups like dig, and I find awk and sed very useful.  Yes, there's cygwin but it doesn't do all the things I can do in Linux.  Close, but not quite.

For email platforms, even though the name of our service is Forefront Online Security for Exchange, we are platform-neutral.  The customer's mail server can be anything downstream, be it Exchange, Postfix, Exim, Sendmail or qmail.  So long as it can receive an SMTP conversation, things are fine.

But on our end, we still have to do spam filtering and email transactions.  That means we need to run a mail server.  So, the question is, what platform do we choose?  As I've said on this blog many times before, as a startup, we originally used Linux.  That's what startups choose, it's free.  But as we were acquired by Microsoft, we started shifting everything over to Windows platforms, and that means IIS, ASP, SQL server and Exchange.  One of the key points of running an email filtering business is that you have to maintain the service.  Working for Microsoft, it is easier to find developers and testers who understand the Microsoft platform, and therefore, the platform of choice is naturally going to be Exchange.  It simply makes more sense from a sustainability view.

People are going to move on from our division.  To replace them, developers will have a lot of Microsoft experience.  It is easier from a support standpoint to run Microsoft-built software than to rely on outside tools.  Running parallel systems is a pain.  So, my view is that I am neutral to the choice of platform so long as it functions as well as other pieces of competing software.  Ultimately, a smart developer can work in any environment.

But I'm not a developer.  As I've moved up within the division, I've had to expand my scope of vision.  I am now very aware that there are a wide variety of MTAs out there, and they each have their own quirks.  Exchange folds line wraps in the headers, and that can break DKIM if you don't sign in relaxed mode.  Postfix puts the reverse DNS, HELO and sending IP in its Received line; Exchange only puts the IP and the HELO.  Unpatched versions of qmail send out a lot of backscatter.  Exim puts a bounce message not according to the RFC in its bounce messages.  And Sendmail?  Well, I'm actually not that familiar with Sendmail which is odd, because it's a very popular piece of email software.

Thus, while I am agnostic to the choice of platform to implement a solution, I believe that it is an essential skill to know a little about a lot of things when it comes to email delivery.  And that's one of my strengths, I diversify a lot.  I drink both Coke and Pepsi.  I use Internet Explorer and Firefox.  I use Thunderbird and Outlook for email.  I have accounts with Yahoo, Hotmail and Gmail.  I use the Mac, PC and Linux for different things and I'm not married to either of them, they are all good for different things.

So, my advice to the outside world is this: if you're developing something, make sure that you plan for the future and know where your talent pool is coming from.  If you're a designer or researcher (or someone like me, I guess), then it helps to how everyone else does it, too.