Béton brut

Znak plus w adresach e-mail

2008-01-17

Wszystkie serwisy mają (OK, wszystkie powinny mieć, nie wszystkie mają) podlinkowany dokument dumnie nazwany polityką prywatności. W treści tych dokumentów, po wstępnych zapewnieniach, że wszyscy szanują Twoją prywatność i oni nigdy nic z tych rzeczy, są wymienione różne ustępy, paragrafy i inne przypisy, których nigdy nie czytasz.

I agree

Nie macie czasem ochoty, żeby dowiedzieć się kto Was zrobił w konia? Jeżeli macie własną domenę, to z pewnością można po prostu założyć kilka aliasów z nazwami serwisów, którym zostawiacie swój adres. Trochę dużo dodatkowej roboty. A przecież można prościej!

Każdy adres e-mail po nazwie użytkownika a przed @ może zawierać znak plus i dowolny ciąg znaków dozwolonych przez RFC. Jak to wygląda? Załóżmy, że mamy adres spambox@example.com i chcemy go sprzedać serwisowi Nasze-Lasy. W formularzu rejestracyjnym podajemy więc spambox+naszelasy@example.com — jeżeli serwis Nasze-Lasy kiedykolwiek zdecyduje się nam przysłać coś głupiego, adres e-mail pod który został wysłany spam natychmiast zdradzi złoczyńców.

Zabiegu tego można użyć też do wygodnego filtrowania poczty. Pozbycie się wszystkich e-maili wysłanych przez dany serwis będzie kwestią tylko jednego filtru, nawet jeśli zmienia się nadawca w polu From:

Wady? Są — nie tyle wady samego sposóbu co problemy programistów z uszanowaniem poprawego adresu e-mail z znakiem plus. Wiele gotowych RegExpów, których używamy do sprawdzania formularzy, nie potrafi przejść do porządku dziennego nad dodatkowym znakiem. Jeżeli cokolwiek wykracza za znaki alfanumeryczne i myślnik to od razu rzucają one błąd. W takim wypadku nie pozostaje nam nic innego jak poinformować autorów lub wrócić do metody na aliasy.