Falsehoods programmers believe about email

In the spirit of falsehoods programmers believe about names and time, here’s some falsehoods about email which are all too common.

  • Everyone has an email address
  • Everyone has exactly one email address
  • An email address never changes
  • Whenever an address does change, it’s under that user’s control
  • Whenever an address does change, it’s because the user specifically requested it to happen
  • Whenever an address does change, the old address will continue to work/exist
  • Any one email address refers to only one single person
  • Unique strings of characters all map to different addresses
  • All email is hosted by a centralized system
  • When email is sent to a user at a domain, it is delivered to a server whose address matches that domain
  • When email is sent by a user at a domain, it is sent by a server whose address matches that domain
  • All email comes from a .com, .net, .edu, or .org address
  • You can filter out email based on the TLD or ccTLD from which it originates
  • Having a particular ccTLD means that you prefer to receive communications in that country’s native language (for example, .fr → French)
  • Email addresses only contain letters
  • Email addresses only contain letters and numbers
  • Email addresses only contain letters, numbers, and a handful of common punctuation marks (e.g. ., _, and -)
  • Email addresses will have at least one letter in them
  • An email address like ^_^@example.com or +&#@example.com is invalid
  • Email is a reliable transport
  • Email is an instantaneous transport
  • Emails will be sent within a few minutes of their scheduling
  • Emails will be sent within a few hours of their scheduling
  • Emails will be sent within a few days of their scheduling
  • Emails will be received soon after they’re sent
  • When an email is sent it immediately goes to its destination server
  • If an email bounces, the address is invalid
  • If an email doesn’t bounce, the address is valid
  • An address which is valid will always be valid, and an address which is invalid will always be invalid
  • All email is sent via SMTP over TCP/IP port 25
  • All email is sent via SMTP over TCP/IP
  • All email is sent via SMTP over IP
  • All email is sent via SMTP
  • All email servers support the various vendor extensions by the current “everyone uses this vendor” vendor (Microsoft, Google, etc.)
  • An email can only have one From: address
  • The Date: header on a message is legitimate
  • The Received: headers will always be no earlier than the Date: header
  • All email clients support HTML attachments
  • All email clients support HTML message bodies
  • All email clients support MIME encoding
  • Email is secure
  • Encrypted email is secure
  • All email is accessed via webmail
  • All email is accessed via webmail or IMAP
  • All email is accessed via webmail, IMAP, or POP3
  • Nobody uses email anymore

See also: email is bad

Update I’m getting some good additions from folks' responses and I’ll be adding them as I see them.

From elainemorisi:

  • Anyone with a .edu address is a student
  • Anyone with a .edu address is a student or faculty
  • Students and faculty will use their .edu address to sign up for all of their Internet accounts

Additional suggestions from a reddit thread:

From Jens Alfke:

  • Email addresses are case-sensitive / can be compared by == or strcmp
  • A reply to an email sent to address X will come from X (this is the mistake made by things that say “Reply with REMOVE to unsubscribe”)
  • If you receive email at address X, you are capable of sending email whose From header is X.

A good one that was posted by many folks when this post went viral but seems to first be by benoliver999 on lobste.rs:

  • If you send a url in an email, the user will be the first to click it

Update, 9/1/2022: Wow, I am getting overwhelmed with comments and suggestions. This really struck a nerve, huh!

I don’t think I’ll be adding any more things to this list. But here’s a few threads you can follow and post comments on:

Also, I moderate every single comment that comes to this site, so please be patient if a comment you post doesn’t appear immediately.

Finally, see this followup.

Comments

Before commenting, please read the comment policy.

Avatars provided via Libravatar