As developers it's easy to email users of our systems. How do we know if the email ever reached the user though? And (more importantly in some cases) can you ever prove it got there?!
Most systems I've worked on have sent email notifications out. Until recently I've never really thought much about what happens after the .send() method has been invoked. Hey, I've sent the email. Now it's in the hands of the internet gods. Whether the user ever actually reads it or not, I just don't know.
One recent scenario involved sending a Booking Confirmation email to users of an online booking application. The first line of the email is in big bold letters and reads:
Please print this email out and bring it with you on the day as proof of booking.
The trouble is that some users didn't print it and didn't bring it. In fact they claim they never even received it.
This is the point where email fails as an effective form of communication. It just can't be relied on. This is especially true nowadays thanks to our friends the spammers. Spam filters are having to get more and more aggressive in order to be effective. In doing so there are bound to be false positives. As I understand it system-generated emails themselves are more likely to fall prey of spam filters, especially when faking from headers. It's a wonder any of the emails we send get there at all.
So, my question to you is, if you have an important message that your user must see, how do you make sure it gets to them?
Alternatives to the booking confirmation email which I've discussed with my customer are:
- Display the content of the email to the user on the last page of the booking. It's at this point they should print the page. The email is still sent, just not relied on as the sole means of communication.
- Have the last page of the booking warn the user to expect the email. It could tell them to make sure they can receive emails from firstname.lastname@example.org and to check their spam filters if it's not there in the next ten minutes.
- I even suggested including a "tracking image" in the HTML email which loaded from www.site.com/bookings.nsf/getImage?OpenAgentemail@example.com. When the user opened the email the site logged it as read. The trouble is the spammers invented this trick and so most email applications now won't load images in emails and, although this might prove a user did see the email, it doesn't prove they didn't.
It all leaves me feeling sad that the spammers have all but destroyed a wonderfully simple means of world-wide communication. Maybe that's the problem. SMTP is too simple a protocol.
Do you rely on email? If not, what do you do to get round its shortcomings?