Sending Email Mark Kruger Coldfusionmuse.com Cfwebtools.com
Email – A Common Task • Used every day • Reports • Notification • Customer interaction • Alerts • Reminders
Increasingly Difficult • Most Email is Spam • Many obstacles exist less relevant to the recipient • Outside Your control • User Experience Sending does not match your experience in generating mail in CF or PHP. • What IS in our control….
From Conundrum • Who Is It From? • So… First, let’s get the “from” stuff right • Add “replyto” • EXAMPLE 1 • Now let’s add a “sender” using cfmailparam • EXAMPLE 2 • Failto • EXAMPLE 3
Origins: SPF • Easiest to use • DNS Based • Requires the email server to be SPF aware • EXAMPLES • For Web mail? Make sure your relay IP or domain is included in the SPF record.
DomainKeys • More challenging to Understand. • Excellent for getting through Yahoo Mail • Requires relaying through a “signing” application • EXAMPLE Yahoo mail • EXAMPLE Server
Black Lists • What can be blacklisted? • Domains • IPs • Subnets • How do you stay off? • Challenge every time • Obey the rules
Checking Sender Behavior • So far we have been analyzing how well the user follows the “rules” • One technology analyzes how the sending mail server behaves • GRAYLISTING
Analyzing Content • Finally there is the content • Spamassasin • Declude • Postini • Barracuda
How to lessen the impact of Content Filters • Only send legitimate content about legitimate subjects. If possible, avoid sales and marketing speak. Make your content valuable to the user. • Use the Name field in addressing your email. (Sally <firstname.lastname@example.org>). • Avoid excessive or obscure-looking links in the message body. • Avoid any appearance of obfuscation. For example, don't use any links that might appear deceptive or dishonest.
Lesson the impact of filters part 2 • Test your emails – both online and desktop tools can assist you with this. In our company, we created a web service that passes messages to our SpamAssassin server and returns a score. • If you send HTML email, make sure it has content in it and not just images. Use well-formed, semantic HTML that identifies the nature of your content rather than just its layout. • If you send HTML email, make it multi-part and include a plain text section.
Miscellaneous • Handle Your Bounces • Make Sure you have a Reverse Record • Lock Down your relays
Resource Links • Sender Policy Framework (SPF) http://www.openspf.org/ • DomainKeys Identified Mail http://www.dkim.org/ • SpamAssassin (part of the Apache projects) http://spamassassin.apache.org/ • Graylisting http://www.greylisting.org/ • Yahoo’s Best Practices for Email http://help.yahoo.com/l/us/yahoo/mail/postmaster/postmaster-15.html • FCC Information on CAN-SPAM http://www.fcc.gov/cgb/consumerfacts/canspam.html