CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Jay Kimble -- The Dev Theologian

Philosophizing about the .Net religion

E-mail Development Credentials or Why Jay is a Good Choice to Talk about E-mail

I'm in process with a How To Select Guide on e-mail (actually there are a couple of us CodeBetter bloggers involved in writing guides for other components).  I've actually written my first version and second versions.  The actual guide will be published sometime in September.

I decided that I would do a quick blog about my experience writing e-mail components (or mail server interactions), so that you can see what I knew about before writing the guide... I definitely had a few areas where I was a bit deficient, but I also had some strong skills that made me qualified.

Like many of you I have been using e-mail for so long I can't remember.  I touched my first component back in the mid 90s.  I believe the first components I touched was the old Crescent Internet Toolpak.  I also touched a bunch of others after that point.  Unfortunately, I never really did anything with the components.  I knew what they did and that was it.

Experience #1
A few years ago I was tasked with building a bulk e-mailing system.  I worked for a flailing dotCom that specialized in web site design and programming (how many of those are there).  Since I had great fears about my job, and I thought that it might make the company some money, I built the system.  At the time the cutting edge technique to bypass privacy was to put a hidden image on the rich email that would ping back to our web site any time a user opened the e-mail.  Since we didn't own an e-mail control I decided to write the entire SMTP client component from scratch.  To add insult to injury, our networking staff had a tendency to break our TCP/IP components, so I took an article I found that discussed using the raw Windows APIs to do TCP/IP, and built my own TCP/IP component.  On top of this control I built SMTP.  I also found very quickly that I needed to roll my own messaging component (hereafter referred to as MIME).  I needed my messages to include the "rich" email which was a flash file served up by our website, my image, and a text version of the message that would invite the user to go to the web site since their mail client didn't support HTML. 

Experience #2
In my present job I was asked to finish a service that monitors a mailbox on our Exchange 2003 servers.  I was told that WebDAV was the technology that would be used to do communications with the Exchange 2003 servers.  After finding a few bugs, and refactoring the code to have some semblance of an object model, I discovered that I needed to touch the communications layer.  I learned Exchange's WebDAV syntax and learned how to query Exchange.  Very cool stuff!

Obviously I hadn't done much programming with POP3 or IMAP4 (or even MAPI for that matter), but I did have knowledge in the protocols (just no actual programming experience). 

BTW, I have also done the normal use of the Persits COM object as well as the standard e-mail components that Microsoft supplies (BTW, they suck!  If you like System.Web.Mail go to http://www.systemwebmail.com for some interesting discussions about System.Web.Mail... it's borderline unusable IMNSHO).

[now I can go back to spelling e-mail "email..." the standards for the guide say "e-mail" is the correct spelling]



Check out Devlicio.us!

Our Sponsors

Free Tech Publications

This Blog

Syndication

News

CodeBetter.Com Home
Current Threat level
Terror Alert Level