Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Happy 30th Birthday, Email!

Happy 30th Birthday, Email!

Email has been around for 30 years now... how's it doing? By
almost any technical metric, email is a terrible, awful, horrible,
no-good system for doing what it does today. And yet... it works. And
is stupendously successful. I'll be talking about the history of
email, examining some of the complicated, convoluted tricks that have
kept it working for so long, and musing about what it demonstrates
about software development in general. Along the way, I will shed a
little light on some email mysteries: bcc, spoofing, relaying, spam
and more.

David Lowe

May 28, 2012
Tweet

More Decks by David Lowe

Other Decks in Technology

Transcript

  1. From: =?utf-8?B?6LSh57SK6Im1?= <[email protected]> To: <[email protected]> Subject: =?utf-8?B?5YWz5Yqh2YDmtYHnqIvvu53nrqHvupnnkIY=?= Date: Wed, 2

    May 2012 00:52:20 +0800 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="Bsy4SN1rxwgrsIrv9K1xNNIO0g3I6JXL4iu2967" --Bsy4SN1rxwgrsIrv9K1xNNIO0g3I6JXL4iu2967 Content-Type: text/plain; charset=BIG5 Content-Transfer-Encoding: base64 Y2w4NzJ1azE2ZDc4eHl0dDQzankgommhbatPw9K1TK7EsGi2T6FuomkgCrPVpGjE+7ROrE+r T8PSxf2nQaSjt3y4fa/kCrZSpl6laKzvN6TRpLogpnCqR8HZt3yv5AqrT8PSrey7+bBotk+1 ubF6ISGoTaSjsN2l9Kbzsnql0SEhCqZuqrrE+6RspKOpyLF6uNWs7y2s76RGp0G0Tqq+uUQK s9WkaMT7tE6sT8X9p0G4fa/k2VTZVCEhCsJcsubAqqe8qrqy5r5jrsmo6C21padBqNPF6cXn ISEKvdCr9qRVrbGhbal4pOihbrr0p322aaRKuvSvuL/vwcoKaHR0cDovL3d3dy51dXUudG8v c3VwZXJ3YSAgICAgICAgICAgICAgaTEwMDBtZHlsMXU0M29jMHZjeDEycw== --Bsy4SN1rxwgrsIrv9K1xNNIO0g3I6JXL4iu2967 Content-Type: text/html; charset=BIG5 Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/htm= l4/strict.dtd"> <html> ... </html> --Bsy4SN1rxwgrsIrv9K1xNNIO0g3I6JXL4iu2967--
  2. dot-encoding DATA 354 go ahead From: [email protected] To: [email protected] Subject:

    test hello, world! . 200 ok SMTP: RFC 821 Message: RFC 822
  3. 7 bits are plenty From: Me <[email protected]> To: You <[email protected]>

    Subject: hello old chap! How about a slice of pie?
  4. 7 bits are plenty From: Me <[email protected]> To: You <[email protected]>

    Subject: hello old chap! MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable How about an =E9clair?
  5. 7 bits are plenty From: Me <[email protected]> To: You <[email protected]>

    Subject: hello old chap! MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=latin1 How about an =E9clair?
  6. 7 bits are plenty From: "mr. pie" <[email protected]> To: "mr.

    éclair" <[email protected]> Subject: ✖_✖ I think I ate too much.
  7. 7 bits are plenty From: "mr. pie" <[email protected]> To: "mr.

    =?iso-8859-1?Q?=E9?=clair" <[email protected]> Subject: =?UTF-8?B?4pyWX+Kclg==?= I think I ate too much.
  8. 7 bits are plenty From: Me <[email protected]> To: You <[email protected]>

    Subject: choke on this! X-Pies-Eaten: 200 X-Éclairs-Eaten: 10 Haha just messing with you.
  9. everything is text From: [email protected] To: [email protected] Subject: cute kitten!!!1

    Content-Type: image/png Content-Transfer-Encoding: base64 Zz+d0Oh0OxhMcYSiKjOV8wde88fV f5fSJLfuMtSzLsv7kfu/DHzH/+ld yLMuyLMuyLMuyLMuyLMuyLMuyLMu yLMuyLMuyLMuyLMuyLMuyLMuyLMu 9TnwgAAAAASUVORK5CYII=
  10. hyper-what? From: [email protected] To: [email protected] Subject: check out this article!

    Why Functional Programming Matters John Hughes The University, Glasgow Abstract As software becomes more and more complex, it is more and more important to structure it well.
  11. who are you? From: [email protected] To: [email protected] Subject: crazy idea

    Want to be VP on my chess club presidential ticket?
  12. who are you? From: [email protected] To: [email protected] Subject: crazy idea

    Want to be VP on my United States presidential ticket?
  13. who are you? From: [email protected] Subject: all mail will be

    signed! -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I always PK sign all email. If it's not signed, it's not from me! -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQEcBAEBAgAGBQJPto8sAAoJENiO8GEa7 -----END PGP SIGNATURE-----
  14. who are you? From: [email protected] Subject: signed email follow-up... -----BEGIN

    PGP SIGNED MESSAGE----- Hash: SHA1 Please find my public key at keyserver.pgp.com. Make sure you get the right key! -- it will be signed by a trusted Certificate Authority and blah blah blah...
  15. who are you? ($) From: Paypal <[email protected]> To: [email protected] Subject:

    problem with your account! OMG tehre's a problem with your paypal account CLICK HERE AND ENTER YOUR PASSWORD rite away to resolve or you will be hosed!!!1 Lovingly, Paypal (no, really!)
  16. who are you? ($) Received-SPF: pass (google.com: domain of [email protected]

    designates 10.205.130.6 as permitted sender) client-ip= 10.205.130.6;
  17. who are you? ($) DKIM-Signature: v=1; a=rsa-sha1; d=paypal.com; s=dkim; c=relaxed/relaxed;

    q=dns/txt; [email protected]; t=1337704316; h=From:From: Subject:Date:To:MIME-Version: Content-Type; bh=7U6LdibxUh83JfX8AYI8pcmX3FA=; b=oeCVbnV...KjJGU=;