First off, I have a new job! It’s a small ASP based software company in Boston called Bullhorn.

For the past couple of weeks, I’ve been learning their systems, gearing up for my role as Network and Systems Engineer. This will basically entail a lot of hardware upgrades/maintenance and programming.

My first coding job is to write some SMTP event sink handler routines in C# to try and keep us from occasionally losing emails. I’ll post some demo code when it’s done.

Microsoft provides event sinks for installing your own components in the SMTP delivery chain. Basically, you can write a series of COM objects in C#, C++ or whatever languages you want, and have incoming email passed through them in sequence. It’s actually not that hard.

Here are some simple ideas of the kinds of things you could do: parse email into a database (ala Bullhorn), filter email for spam, log email statistics and debugging into to a file. More or less any custom email handling is done easiest as a SMTP event sink.

Start out by downloading a C# code template project for Visual Studio .Net. You can grab it here: SMTPEventSink.tar.gz

Note that the project has the option “Register as COM Interpo” set in the config. Before you can use it, you have to register each event sink handler with smtpreg.vbs, which you can grab off of msdn.

For an example, see the register/list.bat files provided. More to come later.