3 ways to guard your email reputation

At EventVue, our first point of contact with our users is by email. That’s why I’m obsessive about making a great first impression with our emails. It’s also the reason I work so hard to make sure that we maintain high deliverability rates.

According to George Bilbrey at Return Path, email deliverability is all about sender reputation. When people hit the “mark as spam” button, it hurts your reputation. When they click “not spam”, it helps. When you send hundreds of emails to addresses that don’t exist, your might as well tattoo “SPAMMER” onto your forehead!

What do you do when your email list is made up of unverified email addresses?

How do you tell which ones are good and which ones are bad? More importantly, what can you do to reduce the number of bounced messages and the inevitable damage to your sender reputation? Here are a few things that will help:

1) First pass: regular expressions

Your first defense in checking you have a valid email address is making sure it looks right. Pete Warden recently posted some great examples of how to use regular expressions. In PHP, you can use the preg_match() function:

$exp = '/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}/';
if (preg_match($exp, $email) <= 0)
    echo "bad email";

2) Take it to the next level: check for an MX record

A lot of people run their email addresses through a regular expression and quit there. I’ve found that doing a quick DNS lookup goes a long way towards eliminating typos from dyslexic users. In PHP, it’s easy to check whether or not a domain has a DNS record for a mail server:

function mx_record_exists($email) {
    $email_parts = split("@", $email);
    // contains exactly 1 @ sign
    if (sizeof($email_parts) != 2)
        return false;

    list($username, $domain) = $email_parts;
    if (checkdnsrr($domain, "MX")) {
        return true;
    }
    else {
        return false;
    }
}

3) Learn from your mistakes: watch your feedback loops

If an invalid email slips past your first two defenses, it doesn’t mean you have to make that mistake again. Create a blacklist for any bounced emails and make sure you don’t send an email to that address again.

  comments

How to make OpenDNS shortcuts work in Safari

As I’ve written here before, I am a huge fan of OpenDNS shortcuts. I’ve always hated switching over to Safari for the simple reason that my shortcuts didn’t work. You might laugh, but it’s hard to go back to typing full urls once you’ve gotten used to single letter aliases. Before you call me lazy, try it for yourself. I promise, you’ll never go back.

Anyway, last night I finally found the secret to making shortcuts work in Safari.

Open up your System Preferences. Go to the Network pane. Select the TCP/IP tab and enter “208.67.222.222” or “208.67.220.220” into the Search Domains field.

That’s it. Simple, eh? Hopefully this will help someone find the solution faster than I did.

  comments

The value of split testing

A while ago we had a discussion over whether we should send our invitation emails as plain text or in HTML format. My gut feeling was that spam filters would be tougher on HTML emails than plain text, but I didn’t know for sure. And I had NO IDEA which email format would have a higher response rate.

Instead of sitting around talking about it — I decided to test it.

We happen to have a conference with several thousand attendees coming up in a few weeks. This gave me a great opportunity to do some split testing with our emails. For the test, I sent out 2459 emails with exactly the same wording. Half of them were in HTML. The other half were in plain text.

Of those 2459 emails, 81 (3.3%) either bounced or were rejected by spam filters. Of the 81 emails that were returned 26 of them were plain text emails, and 55 were HTML emails. This means that the HTML emails were rejected at more than twice the rate of the text emails. However, the response rate to the HTML emails was 11% better than that of the plain text emails!

After taking the lower delivery rate into consideration, the data suggests that I could increase our user participation rate 9% just by sending our emails out in HTML format instead of plain text!

Needless to say, this is an exciting discovery for me. However, I’m not close to done yet. For one, I still need to prove these numbers hold up with other types of conferences. And two, I have a lot of other things to test and refine. I particularly want to see how changing the wording impacts our response rates. I want to test different layouts on our website. What would happen if I changed the background color from blue to green? What if I made the font bigger?

I don’t know — but I’m going to find out!

 1 comment

TechStars applications are now open!

For those of you that are considering starting your own company, TechStars is a great way for you to get connected, get funded and get your company off the napkin and onto the interwebs. If you are questioning whether or not the TechStars program is worth it, take a look at what TechStars did for me:

A year ago…

• When I had a technical question I went to Evan Tishuk or Daniel Von Fange. That was it. Those were the only two programmers I knew.

• I knew one person who worked at Google, and not very well at that. I didn’t know a single person who worked for Microsoft, Yahoo or Facebook. I might have had a lot of friends in college, but I didn’t know anyone in the tech scene.

• I knew the name of one venture capital firm: Sequoia Capital.

• I didn’t have any money, nor did I know anyone who wanted to share theirs’ with me.

Today…

• I’ve got a slew of people standing by to help. Tom used to work for Oracle. He gets to hear all my database questions. Jon is the master programmer behind Intense Debate (the awesome commenting system I use on this blog). I talk to him about PHP stuff. Herb is an experienced CTO — he’s also my mentor/coach. Those are just the people I see on a regular basis — there are dozens more that are a mere email away.

• Not only do I know people at the big tech companies, I’ve gotten to know the people that are important to us in the conference industry as well.

• Not only do I know the names of a lot more venture capital firms — I know actual venture capitalists too. When it comes time for EventVue to raise another round of funding, we’ll know where to start.

• I still don’t have any money, but at least our company got funded.

So, what are you waiting for?

Check out the list of mentors. Look at the past companies. And apply for TechStars today!

 1 comment

Learning from wipe-outs

Over the weekend I had the privilege of hanging out with twelve of my best friends from Clemson. They flew in for MLK weekend, and we spent our time skiing and boarding up in the mountains at Breckenridge.

If you spend any time on the slopes there is one phrase you will hear a lot:

I didn’t fall this time!

I started wondering — is that really the best we can do? Is staying on your feet the best metric of success?

Sure, I could get down most slopes without falling — so why do I fall so much? I’d rather go through some brutal wipe-outs and and improve my snowboarding skills than risk becoming stagnant in my ability.

You might argue that the experience is a lot less enjoyable if you spend most of it on your face in the snow. Why not recognize your limitations and have a good time on the bunny slopes? You have a pretty valid argument. The only problem is this: you’ll spend the rest of your life on the bunny slopes. You’ll never know what it’s like to push yourself and actually succeed. Sure there will be frustration in between, but it might just be worth it.

What about you? Are you continually pushing the envelope and trying new things or are you content setting the bar just high enough not to get hurt?

Is it worth it?

  comments

Startups and Risk Assessment

Did you know that more people die every year from falling down the stairs than from snake bites? Crazy, huh?

Did you know that a child is 100 times as likely to drown in a swimming pool than be killed by a handgun?

It turns out that most of us do a poor job at evaluating risks. We’re terrified of snakes, but don’t think twice about walking down the stairs. Parents won’t let their children play with their friends whose families own guns, but they don’t have a problem with them going swimming every weekend.

I’ve noticed that many startups suffer from similarly poor discernment into risk assessment. Here are a few examples:

Maybe you have a startup but won’t tell anyone what you are doing because you are worried that someone will steal your idea. Instead, you run around with a stack of NDA’s and tell everyone you are in “stealth mode”. As a result, you miss out on valuable feedback that would undoubtedly improve the direction of your product. Sure, there is a chance that someone might steal your idea, but isn’t the greater risk that you will build something that no one wants?

Perhaps you are worried that your web application won’t scale to millions of users. As a result, you spend a large percentage of your time and resources making sure your application is fully scalable. While scalability is an important issue to consider, the majority of preparation for future growth should come after you’ve proved that people want what you have. Is there a risk that your product won’t scale? Sure — but that’s a good problem to have. As Dharmesh Shah recently said:

Don’t fall into the trap of spending your limited resources on planning and preparing for success. Instead, spend them on things that will actually increase your chances of success.

With any luck, your product will experience growing pains at some point down the road, but that shouldn’t be your first concern. Instead you should realize the greater risk is that your company will run out of money before you get a chance to show your amazing product to the world.

Don’t let the perceived risks make you take even greater risks. Instead, try to evaluate them as objectively as you can, and then act accordingly.

  comments

Let’s start a new trend

DO NOT REPLY TO THIS EMAIL.
This mailbox is not monitored and you will not receive a response.

Every email I receive these days seems to contain that sentence in one form or other. A bit rude, isn’t it? Wait, it gets better…

To ensure delivery, please add us to your address book.

Let me get this straight — you want me to add you to my address book, but you won’t even read my emails? Instead you’re going to make me take a 20 minute scavenger hunt around your website to find out how to get in touch with you?

Why?

I’d rather just hit reply.

Here’s an idea: Why not start listening to your customers instead of insisting on having a one-way conversation all the time?

It’s easy:

  • Set up a filter to delete all the “Out of Office” emails and the delayed delivery notices.
  • Forward the bounced emails to your email management script to remove them from your mailing list.
  • Actually start reading and responding to what your users/customers have to say.

Let’s start a new trend and stop using that annoying “no-reply” email address. Come on — we can be more creative than that!

  comments

Tutorial: Sending email through Gmail

Nowadays I recommend everyone use SendGrid for sending email

An introduction to using Gmail as your Email Service Provider
There are many reasons to consider outsourcing your email. Getting an email into someone’s inbox is not a simple matter these days. There are a million things you need to know to make sure an email actually makes it to the recipient and not into the junk folder. That’s why more and more people are opting to have an email service provider (ESP) take care of sending email for them. With an ESP, you let them keep up with all the blacklists and the whitelists. You can stop worrying about maintaining mail servers and start focusing on the real challenges of your business.

There are a few downsides to using an ESP. First, they are relatively expensive. For a good ESP, you are looking at paying thousands of dollars a year just to send a few emails. Secondly, most ESP’s are focused towards corporate bulk mailers instead of web startups that send lots of customized emails to one person at a time. This makes integration really awkward. Lastly, the ESP’s that have API’s don’t make it easy on you. It’s hard to find an ESP that will integrate nicely with your existing code.

Recently I decided to try using Google Apps for your Domain to send emails from our website. Google Apps offers many of the same benefits as an ESP, but they do it for free and code integration is a non-issue. So far, the results have been great and we’re not losing as many emails to spam filters anymore. I’m not an deliverability expert, but I learned a lot from fighting the email battle this past week. My goal with this tutorial is to share what I learned, so you don’t have to spend a week running all over the web to find it.

The step-by-step tutorial I wish I’d had a week ago:

Set up Google Apps for your domain
Google Apps for your domain comes in a free Standard Edition and a $50/user/year Premier Edition. I took advantage of their offer of one month free with the Premier Edition (mainly for their included tech support), but ultimately I decided that the Standard Edition more than meets my needs. Unless you’ve got some crazy integration needs, Standard Edition will probably do just fine.

Verify your domain
Verifying your domain allows GMail to send emails from your domain instead of on behalf of your domain. You can verify your domain name by either uploading a specific HTML file to your site, or by adding a CNAME record to your DNS records.

Create an account for each email address you want to send from
Google makes it easy to set up multiple accounts with an Excel spreadsheet upload. I’d recommend using the same password for each account to simplify your life and code. If you’re like me, the first thing you will want to do is sign in to each account and forward everything to an email address that you check every day.

Add Google’s MX servers to your DNS records
You will need to add these MX records for Google’s mail servers to your DNS records

Publish an SPF record that includes Google’s SPF record.
A lot of spam filters rely on the Sender Policy Framework (SPF) and Sender ID to decide whether or not to allow your message through or not. An SPF record is simply a DNS record on your server that has a list of IP addresses and domain names that are allowed to send emails from your domain name. In addition to listing the IP addresses of your own servers, you can also include the SPF record from another domain. In this case, we want to include Google’s SPF record to include an up to date list of their mail servers. If you are going to be sending mail from other servers besides google, I recommend you look over this list of common mistakes before you start playing around with your SPF record. You should be particularly careful if you have existing servers that are sending out mail. It’s easy to lock them out with a bad SPF record.

Use a hard fail (for Hotmail’s behalf)
Your SPF record should end with either “~all” or “-all”. The “~all” is a soft fail. This means that servers not listed in your SPF record should be given extra scrutiny. The “-all” is a hard fail. This means that any server that tries to send an email from your domain that is not included on your SPF record will be rejected. Google recommends you use a soft fail (~all) to ensure deliverability, but in practice I found that specifying a hard fail was the only way to get an email into a Hotmail inbox. The hard fail communicates your confidence that your email system is secure. Most spam filters like that.

Submit your SPF record to Hotmail
You need to submit your SPF record to Hotmail to be included in their Sender ID program. Please note that Hotmail caches their records daily. This means if you change something you will need to resubmit your record in order to have your changes take effect immediately.

Subscribe to feedback loops
Feedback loops provide a way for ISP’s to let email senders know when people are clicking the “report spam” button. Google actively subscribes to these feedback loops so they can stop people from sending spam from their mail servers. Google allows you to be informed about these complaints as well. This allows you to quickly remove the complainers from your mailing list. You can get a copy of these complaints by creating email lists for abuse@yourdomain.com and postmaster@yourdomain.com

Make sure you include a return-path in your email header
Sender ID checks are performed against the purported responsible address (PRA). SPF checks are performed against the return-path (or bounce address). This means you need to make sure you are sending the correct return-path in your email header and not something generic like “noreply@localhost”.

Make sure you are sending quality emails
There are a lot of things you can do to the emails themselves to increase your chances of getting past spam filters. There are a couple “no-brainers”, like making sure you include an unsubscribe link and use valid HTML. There are also a few not-so-obvious things you can do like adding your physical mailing address to the footer of each email. It’s worth taking some time to research what spam filters care about so you can modify your emails accordingly.

Additional Resources:

Please chip in your thoughts / questions. Good luck!

 2 comments

A roommate’s perspective

This is a guest blog from my roommate, Mike Soltys. Mike and I graduated from Clemson together and now he’s working on his PHD at CU. Here are Mike’s thoughts on start-up life:

Hey Tech-blog world! My name is Mike and I’m a guest blogger for Josh. As many of you who read this blog may or may not know, my roommates are starting up the “startup” company “EventVue“. Now, you’ll have to forgive me for poor tech-terminology and the like because I’m by no means a techy, but I’m going to try to give you my outside view of the tech-startup world.

I’d first like to talk about the cost of starting up a company. I’m in college. I’ve been in college for just about as long as I can remember and I’ll be in college for quite some time. As a college student, I’m poor as dirt but Its OK because I really don’t work that hard. My roommates on the other hand don’t even know the meaning of “weekend” and they’re just as poor as me. They say that some day they will be millionaires, and when thats the case I guess all that hard work will pay off… but in the mean time is it really worth eating cold pop-tarts because you can’t afford a toaster (or the energy to run one?)

The second major qualm I have against being a start-up dude myself is the heavy use of Mac’s. I’m writing this very blog on a Mac and I’m hating every minute of it. Do Mac users think they are “above” right clicking, or was the right mouse button just too visually displeasing to include on their laptops?

The benefit of being a start-up dude is the party’s. I’ve been fortunate enough to be invited to a few tech party’s which are actually pretty classy (even though they usually do lack ladies). They usually feature good beer, good food and stimulating conversation about the latest website that I just have to go to.

I guess thats why they do it… the party’s, but honestly I think I’m happy with being the roommate of a techie and being invited to the occasional party without the hard work, low pay, and the stupid Macs. Well, until we meet again, take care tech world!
– Mike

  comments

Selling what you have

Our product is far from finished. There are a million features that we want, but just don’t have yet. We’re working our butts off to get there, but in the meantime, we’re selling what we have.

I realized today that we’ve been spending more time telling our customers about the product we are building, than the product we have for sale right now. Imagine taking a customer into a showroom and showing them a shiny new Porsche and then trying to convince them to buy a Honda. Even though the Honda is 100 times better than the beat up Pinto they were driving, they are never going to be as excited as they could have been. The Honda is a great car, but it pales in the shadow of the Porsche. Having seen the Porsche, the customer will start focusing on all the things the Honda is lacking instead of the real benefits it provides.

What about you?

Are you apologizing to your customers that your Honda can’t go from 0-60 in 2.6 seconds OR are you selling them with the fact that the Honda is one of the most reliable cars on the market?

Are you apologizing to your customers that your web application doesn’t have many features yet OR are you selling them with the fact that your product is simple, easy to use and reliable?

Your customers’ perception of your product is largely impacted by how you communicate it to them. Make sure your customers are pumped about the Honda you are selling today, before you tell them you’re going to give them a Porsche tomorrow.

  comments