Hacker News new | ask | show | jobs
by civilized 1565 days ago
Wait wait slow down.

I can sign up for services with plus signs and use the plus signs to do things? Does this work on Gmail? What other services does it work on?

Is this a well-known fact???

I've never heard of this. My mind is about to blow here.

I worry that bad actors might strip the plus parts out, but in a basically cooperative ecosystem, this seems like a really big deal.

9 comments

It works on most email services. Some bad actors (including large corporations) do strip the plus signs out (or don't accept them to begin with) but it's rare for anyone to bother.

I typically use the name of the service after the plus, because it gives an added bonus of knowing who is selling my address.

Support for plus addressing mainly depends on the online service you're signing up with. Your mail provider almost certainly supports it; their business is email. But many webservers have idiosyncratic notions about how to validate an email address (they could be using any damn library, and their business isn't handling email).

Most websites seem to accept plus addressing. But I haven't encountered an online banking service, for example, that accepts plus addressing.

Incidentally, it doesn't have to be a plus sign; other symbols can be used.

A more interesting thing with Gmail is that it ignores dots. Foo@gmail.com is the same as f.oo or f.o.o! That's less common behavior, so it's less common for spammers to strip out.
Yes. Any email service should allow it, as it's standardized and very old.

However, some services that you sign up for might reject email addresses with + signs in them.

With Gmail, one thing you can do is insert a period anywhere you want in your email address. For some reason they decided to ignore that character when matching incoming email to an account. That behavior isn't standard, but services you sign up for should never have a problem with it.

> Yes. Any email service should allow it, as it's standardized and very old.

As far as I know it’s not standardized at all; it’s not in the SMTP spec. It’s actually annoying that some people assume this is standard because they can break functionality, like assuming foo+bar@ is the same person as foo+qux@ when it’s not guaranteed to be.

It's not in the SMTP spec because SMTP doesn't need to know about it. Your objection is correct but in fact that's the desireable behavior -- senders can't assume that foo+bar and foo+qux are the same person. If they could make that assumption, subaddressing would be defeated as a useful filter signal. As it is, it's not just plus signs -- qmail has been using '-' as the subadress separator for decades.

Subaddressing is standardized in RFC 5233 as a filtering signal.

On gmail and fastmail and maybe some other providers, you can put a plus sign before the at sign, and the plus and anything in between are stripped out so you can effectively have infinite email addresses.

Not all providers do this, but it's easy enough to check if yours does, just send an email to yourself.

Note, on gmail you can't filter emails based on the +
I've definitely had filters set up based on this in the past. Did they change it in the last few years?
And some services refuse to accept these addresses.

I've found old school approaches such as https://www.spamgourmet.com/index.pl to solve this better.

Yup.

Another tidbit (and this one is gmail-specific): dots are insignificant. Mail sent to x.y@gmail.com will arrive at xy@gmail.com

but beware: there are a lot of services by overzealous colleagues who 'check' email addresses and reject '+' (for religious reasons?).

Email addresses can be quite complex (cough), what those may never have come across. See 6.1 in RFC822.

Yes, but not that well known. It’s part of the SMTP spec.
It's not part of the SMTP spec. SMTP treats the local part as an opaque identifier. It's somewhat common though and RFC 5233 extends the sieve filtering language to support it: https://datatracker.ietf.org/doc/html/rfc5233
Yes and yes.