EMail RFC eLearning and Error Fixes

I woke up this morning to frigid temperatures.  It took a while to get the cold out of the car, my feet were still cold a good 15 minutes in.  I laughed at myself though, thinking that I was such a wimp now that I’ve been on the east coast for the past many years, I’ve lost the developed cold weather tolerance that living in the upper midwest for the good part of two decades had provided.  So this morning provided a slow start (or was it just reluctance to leave my nice warm house) that seems to be shocked into being once I arrived at DDA.

While my hands are still cold and typing  extra difficult, I found several issues in my inbox.  One was a page timeout that was happening on our medical paper review site during an invoice printout, the other were issues on one of our eCommerce sites that I normally don’t work on, but will since its main programmer is out of the office today.  The first issue may be able to be fixed with some code refactoring.  Because it’s pulling in a great deal of data, optimization of that process can go a long way.  The second–and maybe more fun to figure out–is an issue with an email validation routine.  According to the RFC (I think it’s RFC-2822) and the bloggers that actually tried to figure it out, email addresses are a lot more complicated to validate than most people think.  You can pretty much have anything as long as it’s in the form of something@something.something.  The somethings can be letters, numbers and a good portion of the punctuation, even escaped characters.  Trying to validate that isn’t the easiest task.  Most people aren’t going to be so crazy as to use all these funny characters in their emails, but for the small portion of people who will, we have to try to accommodate that.  The coldfusion isValid email validator does a decent job, but it will fail on a few surprisingly valid email addresses.  So today’s learning lesson will be finding and implementing a better mousetrap, I mean email trap, then I can get back to the eLearning /Medical CME site I’ve been working on.