<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

 <title>Dave Dash</title>
 <link href="http://davedash.com/tag/email/atom.xml" rel="self"/>
 <link href="http://davedash.com/tag/email"/>
 <updated>2012-04-07T22:42:44-07:00</updated>
 <id>http://davedash.com/</id>
 <author>
   <name>Dave Dash</name>
   <email>dd+atom1@davedash.com</email>
 </author>

 
 <entry>
   <title>Plus Addressing</title>
   <link href="http://davedash.com/2012/04/07/plus-addressing/"/>
   <updated>2012-04-07T00:00:00-07:00</updated>
   <id>http://davedash.com/2012/04/07/plus-addressing</id>
   <content type="html">&lt;p&gt;One of my biggest pet peeves is registration forms that don't accept &quot;plus&quot;
addresses, e.g. &lt;code&gt;myname+whatever@mysite.com&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I've been using plus addressing for years, and before that,
&lt;a href=&quot;/2008/10/12/google-apps-in-search-of-a-worthy-email-system/&quot;&gt;&quot;minus&quot; addressing&lt;/a&gt;.  Since GMail handles my &lt;code&gt;@davedash.com&lt;/code&gt; email
addresses I am forced to use the &quot;plus&quot; style if I want to easily create
multiple addresses on a whim.&lt;/p&gt;

&lt;p&gt;I use this style of addressing to keep track of who might be spamming me
(JC Penny for example).  I might sign up with &lt;code&gt;myname+facebook@mysite.com&lt;/code&gt; for
Facebook, &lt;code&gt;myname+pinterest@mysite.com&lt;/code&gt; for Pinterest, etc.  Unfortunately this
wasn't working when I signed up for Pinterest.  My wife and a few of my friends
were quick to tell me about this:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/images/2012/04/07/pin-screenshot.jpg&quot; alt=&quot;pinterest registration screenshot&quot; /&gt;&lt;/p&gt;

&lt;p&gt;So when I joined Pinterest, I immediately filed a bug, and then after talking
to a few people, decided to fix it.  The fix was remarkably simple.&lt;/p&gt;

&lt;p&gt;There's usually two causes for this problem.  1. People use the wrong
validation for their emails.  Namely one that says &lt;code&gt;+&lt;/code&gt; is bad.  Luckily most
web frameworks, like Django, get this right.  2. They use the email address as
some sort of parameter in a URL.  For example:
&lt;code&gt;http://mysite.com/newsletter/unsubscribe?email=myname+whatever@mysite.com&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;The wrong validation&lt;/h2&gt;

&lt;p&gt;If you're using the wrong validation, fix it.  There's no excuse for anybody
seeing &quot;sorry please use a valid&quot; email address when their email is perfectly
valid.  Django has a &lt;a href=&quot;https://github.com/django/django/blob/master/django/core/validators.py#L88&quot;&gt;regular expression which you can use&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;The URL issue&lt;/h2&gt;

&lt;p&gt;The URL issue is an issue of URL encoding.  In our example
(&lt;code&gt;http://mysite.com/newsletter/unsubscribe?email=myname+whatever@mysite.com&lt;/code&gt;):&lt;/p&gt;

&lt;p&gt;The email variable gets decoded as:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;myname whatever@mysite.com
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Clearly that &lt;em&gt;is&lt;/em&gt; invalid.  On a URL bar, the &lt;code&gt;+&lt;/code&gt; is interpreted as a space.
The solution is to encode your email address.  For Pinterest, this is all we
needed to do.  JavaScript has a handy &lt;code&gt;encodeURIComponent&lt;/code&gt; to change this.  If
you are using an &lt;code&gt;ajax&lt;/code&gt; call from jQuery, you can simply pass the data an
object:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;{'email': 'myname whatever@mysite.com'}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This will get encoded properly.&lt;/p&gt;

&lt;h2&gt;Call to Action&lt;/h2&gt;

&lt;p&gt;Plus addressing a minimal use case, but please... make sure that people aren't
hitting validation errors in your registration.  Each input on a registration
form is a reason to not register.  Each validation error, is a reason to give
up prematurely.  Do your users and your product a favor and don't invalidate
them unnecessarily.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/images/2012/04/07/pin-screenshot-fix.jpg&quot; alt=&quot;pinterest registration screenshot post-fix&quot; /&gt;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Google Apps: In search of a worthy email system</title>
   <link href="http://davedash.com/2008/10/12/google-apps-in-search-of-a-worthy-email-system/"/>
   <updated>2008-10-12T00:00:00-07:00</updated>
   <id>http://davedash.com/2008/10/12/google-apps-in-search-of-a-worthy-email-system</id>
   <content type="html">&lt;p&gt;Email, in a lot of ways, is one of the most critical applications for me.&lt;/p&gt;

&lt;p&gt;There was a point in my life where I made sure all my email was kept together indefinitely, but as time grew, so did this task.&lt;/p&gt;

&lt;p&gt;For the longest time, I had my own hosted @davedash.com, @ftmax.com addresses.  These were hosted diligently at pair Networks.  pair introduced the qmail system which gave birth to my trend of using &quot;minus addressing&quot; (if your email is user@domain.com you can use user-&lt;em&gt;anything&lt;/em&gt;@domain.com).  It was my way of seeing which sites spammed me (so far I only outed one company using this trick) and just to organize my inbox.&lt;/p&gt;

&lt;!--more--&gt;


&lt;h3&gt;Gmail...&lt;/h3&gt;

&lt;p&gt;In 2004, I decided to experiment with Gmail.  I had a lot of email to manage and Gmail's ajax-enabled features made its webmail service far superior to any competitors and even made desktop apps cower in shame.&lt;/p&gt;

&lt;p&gt;The ideology of search don't sort, and archive don't delete, made Gmail a perfect storage system for all my emails.  I never had to lose track of email again.  Just about any conversation, or discussion I've had over email - I can pull up very quickly using Gmail.&lt;/p&gt;

&lt;p&gt;I'd say after 4 years of solid use, the experiment is over, I was sold on Gmail.&lt;/p&gt;

&lt;h3&gt;Switching hosts.&lt;/h3&gt;

&lt;p&gt;I did, however, move my domain management over to Dreamhost.  This is where it still resides, and that was a problem.  Minus addressing was not a part of Dreamhost.  I had to painstakingly create procmail files that simulated this.  Inevitably pushing anything and everything to my gmail account if it matched the syntax I chose.&lt;/p&gt;

&lt;p&gt;I knew Gmail supported plus addressing (user&lt;strong&gt;+&lt;/strong&gt;&lt;em&gt;anything&lt;/em&gt;@gmail.com), but I never took the plunge.  My habit, was and is still minus style.&lt;/p&gt;

&lt;h3&gt;Google Apps&lt;/h3&gt;

&lt;p&gt;The Dreamhost account I used has been tossed from one server to the next, unfortunately there's a lot of hand-holding I need to do in order to make sure procmail and all my other tweaks I've made to my accounts work.  I finally threw in the towel today and settled on Google Apps.&lt;/p&gt;

&lt;p&gt;Both my wife and I use Gmail (with aliased emails @katiebonn.com and @davedash.com respectively), so I enabled an app and did the painstaking &lt;a href=&quot;http://glomerate.wordpress.com/2008/08/20/migrating-from-gmail-to-google-apps/&quot;&gt;migration process&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;While it's not that complicated, you don't ever realize how entangled your Google account can be.  We both use GTalk and Google Calendar and we both have large Gmail accounts.  Mine has 70K+ addresses and is slowly being migrated to my Google Apps email address.&lt;/p&gt;

&lt;p&gt;In the end, I think this struggle will be worth it, since I'll have my addresses managed in a clean efficient way.&lt;/p&gt;

&lt;p&gt;This will also pave the path for me to move more of my web sites off of Dreamhost and onto Slicehost.&lt;/p&gt;

&lt;p&gt;Wish me luck.&lt;/p&gt;
</content>
 </entry>
 

</feed>

