11 ms·
I have a unique email address for every single service that I sign up for, similar to this, though selfhosted. I've been doing this for years and it works wonde
by binwiederhier 5y ago
I have a unique email address for every single service that I sign up for, similar to this, though selfhosted. I've been doing this for years and it works wonderfully. If someone misuses my email address, or gets annoying, I can simply turn off the address. Bam!
It's the easiest Postfix config in the universe, essentially just:
virtual_alias_domains = domain1.com domain2.com
virtual_alias_maps = hash:/etc/postfix/virtual
And then /etc/postfix/virtual looks like this:
phil.equifax@domain1.com firstname.lastname@gmail.com
phil.experian@domain1.com firstname.lastname@gmail.com
... (hundreds of these)
I also made a super simple web UI for myself to edit this file quickly.
Gmail seems to be fine with this, emails do not usually end up in spam. Every full moon maybe, but usually it's alright.
It's not as shiny as Apple's thing, but it's 100% selfhosted and I own the domain.
- caymanjim 5y agoI do the same thing, but instead of rolling my own UI, I use ViMbAdmin [1] (listening on my VPN). It's a great tool for managing aliases. [1]: https://www.vimbadmin.net/ https://www.vimbadmin.net/
- vernie 5y agoAside from being self-hosted how does this differ from +suffix Gmail addresses?
- MrRiddle 5y agoIt’s trivial to figure out main gmail address?
- cubesnooper 5y agoIt’s almost as trivial with this format too, at least to guess what address is used for other services, though it has a strong advantage over using ‘+’ in GMail in that nothing will try this automatically. It’s hard to believe anyone would intentionally try to guess a different service’s email to spam to it, but even so in my setup I prefer to eliminate this possibility completely by adding a random number to the service name: experian12322@example.com, and so on, with no catchall for invalid addresses. So far the most spam I’ve gotten has been to the address I used for Amazon (probably leaked by a third‐party seller there).
- binwiederhier 5y ago> It’s almost as trivial with this format too I mean you can pick any format you want before the "@", but yeah my format is trivial. Nobody has tried to do it automatically yet though, as far as I can tell.
- SalimoS 5y agoI remember Starzplay didn’t accept the + in my email when I tried it (technically I signed up but couldn’t login anymore )
- binwiederhier 5y agoHonestly, probably not a whole lot. Though I had originally made this because with the "+" approach, you can easily get the original address by simply removing everything after the "+", while with mine you cannot. On top of that, sometimes "+" does not work in services that do "strict email validation".
- deleted 5y ago[deleted]
- webmobdev 5y agoSome services do not accept email with a "+" in it.
- PrettyPastry 5y agoSome services even accept it to create an account, but not to log in. One never let me change my email or password when I used the +.
- KennyBlanken 5y agoPostfix allows defining any character as a VERP separator. OP also could have just used a regex in the virtual file.
- JZL003 5y agoAlso, not as granular, but instead of the + suffix, add a dot in a weird place. So n.ame@gmail.com or nam.e@gmail.com . Many SMTP servers respect periods as differentiating emails, so services can't delete them. It doesn't help you stop spam, but you can add a gmail filter that n.ame@gmail.com is put in a separate label. And it's very fast to type, easy for non tech-y people
- heldergg 5y agoPlus addressing is not unique to gmail nor it was invented by google. For example, to enable plus addressing in postfix is only a matter of defining: recipient_delimiter = +
- webmobdev 5y agoAnd, if the email service is also self-hosted, it prevents Apple from collecting more data about your interests and purchases through your email, which it uses to profile you (to determine how to extract more money from you).
- z8 5y agoI'm doing the exact same thing. Built a small web app that lets me manage all my email aliases for the domain. Unfortunately there are a couple of websites that do only allow a select list of whitelisted domains meaning I cannot use my own, but for the other 99% it works wonders. I wish I had had this idea ten years ago, it would have saved me so many headaches.
- aendruk 5y agoWho whitelists email domains? Do they explain why?
- Semaphor 5y agoI think Aliexpress does it, at least I wasn’t able to use my domain and had to use my old gmail account. All I got was "not a valid email" or something like that.
- z8 5y agoThe most recent incident I remember was with a debrid service. I opened a ticket with their support and was told that the point of the policy was to combat abuse of their service. Not entirely sure why a paid service that accepts cryptocurrencies would care about email addresses.
- rhn_mk1 5y agoI think yandex does. Or at least they didn't allow one person send emails to me. "invalid address".
- smartbit 5y agoIs your app available?
- z8 5y agoNot as of right now, but I could put it on GitHub. It's essentially just a front end for the Gandi.net email management API. Manually editing the alias list gets cumbersome really quickly.
- KennyBlanken 5y ago> It's not as shiny as Apple's thing, but it's 100% selfhosted and I own the domain. Apple's system is "shiny" because it provides near total anonymity, whereas your setup has all the deliverabilty issues of a self-hosted domain and rather uniquely identifies you...at the domain level? I'm not sure why you are maintaining a hundreds-of-lines virtual table and a web UI, instead of just using a regex or two to capture phil.*@domain2.com or something along those lines (maybe you want to do one including a year or something to cut down on spam), or blacklisting as needed by having postfix reject during the SMTP session so the email is marked as invalid and is removed from the spammer's database. Or, I dunno, just use VERP? I don't think I've yet run across anyone smart enough to drop VERP from email addresses.
- binwiederhier 5y agoI'm maintaining hundreds of lines because I started with one. And i was too lazy to change it. Your approach it probably better ;-)
- megous 5y agoApple's system will only work until they decide to shut you out or shut down this service for whatever reason. Anonymity is not really a concern for most uses, privacy, longetivity and reliability of reception is though. I still want to use random unique addresses even for important and trusted services, not just for throwaway uses. So third party domain is not an option. I use self-hosted unique addresses mostly for registering to services, so forwarding those messages in both directions through Apple's service would expose all those services to a silent takeover via password reset by Apple's employees in control of this service. So this service is exactly as useful as those random throwaway email inboxes available on the web. More polished maybe.
- 0xCMP 5y agoI imagine Apple would come down on them pretty hard in the App Store if they did that so for most applications it's enough of a deterrent that most places would not do it. I also think that because Apple can mostly control which addresses and how many of them there are it can control the spam issues enough to avoid that problem. If not... then yea that's gonna happen in a few years. Would be short sighted for Apple to not do it though.
- TonyTrapp 5y agoI'm doing it the other way around, which is slightly less work because you don't have to create new email addresses explicitly: Catch-all by default, with a recipient blocklist as part of smtpd_relay_restrictions that I update whenever some service gets breached.
- rootusrootus 5y agoI do a simplified version of this. I just use a catchall account with Fastmail and then pick email addresses in the domain randomly. If someone abuses the address, I block it. I specifically do not use addresses that make it obvious what my strategy is. I end up just using a name and number that would look right at home on gmail. I'm also not trying to stop tracking, so much as I'm trying to have my own semi-permanent equivalent to mailinator that nobody will recognize as such, that I can use to cut back on the amount of spam I get.
- 3-cheese-sundae 5y agoI used to do it this way too, but got overwhelmed by dictionary attacks.
- b1n 5y agoI've been thinking of a new way to use my email... - Only use one email address: hi@example.com - Always add a filter: hi+hn@example.com - Send all emails without a filter to SPAM Since it's not a common strategy, it is much more likely that spammers remove the +hn before sending an email than add one.
- VTimofeenko 5y agoI have tried this approach. Unfortunately, some services will not accept plus sign in the username no matter what RFC says. On top of that, some services seem to not like seeing the service name in the username. I.e. foo.tld will refuse sending email to mailbox+foo@mydomain.tld.
- JimDabell 5y agoSome mail providers support receiving mail on arbitrary hostnames, so you can set up a wildcard MX record and then use mailbox@foo.example.com instead. This avoids email validation issues with plus addresses, spammers don’t try removing any parts of the hostname, and I think in the many years I have been using it I’ve only run into a problem with including the service name once or possibly twice.
- ohlookabird 5y agoNice! I do something similar, but using an automatic aliasing scheme so that I don't have to manually configure an email address for each service and other users can use this without me knowing their aliases. In my setup, aliases can contain wildcards, represented as percent signs. If an alias phil.%@domain1.com is set up, all your examples will be sent to the respective aliased address. I use Postfix Admin with a MySQL database. Hence the Postfix setup looks like this: virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf, mysql:/etc/postfix/mysql_virtual_alias_maps_wildcard.cf, hash:/etc/postfix/virtual The first file is just regular aliases, and is basically a simpler version of the second file (no SQL selections/filters) and could also be merged into a single query with the second file: user = mail password = <password> hosts = 127.0.0.1 dbname = maildb_postfix query = SELECT a1.goto FROM alias a1 LEFT JOIN alias a2 on (a2.address = '%s') WHERE '%s' LIKE a1.address AND a1.active = '1' AND a2.address IS NULL This works, because the percent sign in the alias is picked up by the LIKE keyword. A setup like this allows me to configure many aliases through Postfix Admin's web admin page, including optional wildcard aliases (depending on which users wants that). It has been working very well for me over the past 15+ years. Also, I haven't looked at that SQL query since then and would likely write it in a nicer way today. Note: with the above code SQL injection could be possible through an alias name, but given that in this setup I am the only one managing the mail accounts, I was willing to take this risk. :-) Postfix Admin might do some cleaning/validation, but I haven't checked on it.
- hackernewds 5y agoWhy not just use phil+craigslist@gmail.com or phil+kmart@gmail.com? same effect and lands in the same phil@gmail.com address
- ratww 5y agoBecause it's not as effective if the goal is to catch spam. Spammers are already wise to the meaning of + and will strip it automatically when selling data in bulk. Plus, some services block creating accounts with the + or with their name in the address.
- r2b2 5y agoThe problem with self hosted email is that your domain becomes a unique (or near-unique with a few domains) tracking reference.
- jen729w 5y agoOnly if the entity on the other end understands this though, right? Which they probably don’t. Otherwise everyone @example.com is the same person.
- r2b2 5y agoIt's worth a lot of money for the ad-tech (consumer tracking) industry to understand. If a domain only occurs once in a user database, it's likely to be a personal domain. A data broker that sees the same domain in a few different datasets (once in each) can be quite confident that the domain is an individual's.
- toxik 5y agoThey cannot know if it’s a small domain like a business, or a personal catchall. It works fine.
- scoot 5y agoI use 33mail.com (33m.co) which does the same thing (it has a link on the email to disable the address). You can use a subdomain or custom domain. It has a generous free tier, and ridiculously cheap paid tier. (Paid is required if you want to be able to reply to inbound emails though.)
- PascLeRasc 5y agoIs Phil a pseudonym first name as well? That’s a smart new technique if so.
- binwiederhier 5y agoHehe, it seems I'm not that smart. It's my actualy name :-D
- zeta0134 5y agoI've just started doing this and it's so nice. "Gee who signed me up for a newsletter... why, it's that hotel chain I stayed at 3 months ago! Naughty, naughty." Makes the management much nicer, and I can maintain my fun username for silly projects and a slightly more professional one for business inquiries and such. Highly recommended! Domains are cheap and Fastmail makes the process absolutely painless.
- mulmen 5y agoI tried to do this but my dentist’s receptionist got confused and cancelled an appointment because “I used their email address”. Square also makes this incredibly difficult because if you enter a merchant specific email they permanently tie it to your card. So now any time I ask for an email receipt I get an email to my hairdrstylist’s “unique” email.
- masklinn 5y ago> I tried to do this but my dentist’s receptionist got confused and cancelled an appointment because “I used their email address”. Never had it go that far but I definitely had some odd reactions e.g. a support agent thinking I was a colleague. On the other hand, if you have a relatively common name it avoids people giving your email address then behaving aggressively when you tell them to stop. I’ve had a few friends hit this issue.
- mulmen 5y ago> On the other hand, if you have a relatively common name it avoids people giving your email address then behaving aggressively when you tell them to stop. I’ve had a few friends hit this issue. I’m sorry, I can’t parse this. Can you try again? I used <dentistbusinessname>@<mydomain>. My name was never involved in the address.
- masklinn 5y ago> I used <dentistbusinessname>@<mydomain>. My name was never involved in the address. That's the point, if you don't use your name in your address, you can't be <genericname>@<genericdomain>, which third parties will provide as their email, Because I use the same scheme you do I've never had that issue, but several friends with common names have hit the issue having registered to more "normal" hosts, often as somewhat early adopters and thus having gotten their pick.
- deleted 5y ago[deleted]
- grishka 5y agoI've set up a catch-all SMTP server for my domain and now I make up unique addresses on the fly. It simply forwards everything to gmail. Was too lazy to set up sending. Thanks to this setup, I've already encountered one instance of a company either leaking or selling their customer information.
- herval 5y agoI used to do this too, but it's a considerable amount of effort, and doesn't really prevent much: many domain hoarders/resellers know the trick, so they'll try to match other data they get from you, and sometimes build a fuller "profile" on you than they would if you only had gmail/other generic domain (eg if they have your name, which often leaks along email, they'll try your first name, first name + last name, initial + last name, first name + last initial, etc).
- rhn_mk1 5y agoSame. Although gmail is not fine with this. If I want to talk to a gmailian, they must send me an email first. Sometimes my reply gets spammed too. Bonus: a ghetto alias generator: dd if=/dev/urandom bs=1 count=10 | base64
- wvh 5y agoI did this too for many years. I recently reversed the filter logic from whitelist to blacklist since spam filters nowadays seem efficient enough that passing through `name*@domain.tld` by default and only blocking those few addresses that leak and start sending spam is less work.
- dna_polymerase 5y agoFor those who do not wish to interact with their webserver config (or can't) there is AnonAddy, which can be self-hosted (https://github.com/anonaddy/anonaddy https://github.com/anonaddy/anonaddy) or paid for (https://anonaddy.com/ https://anonaddy.com/). It's really convenient, with the added benefit (for the paid version) of having a domain, that is used by many people, which makes it easier to hide behind an email address.
- gylterud 5y agoI wrote a simple script[0] which generates a new address for each site I register. Then a simple script to look up what the generated address was later. It is written for OpenBSD, but should be easy to adapt. [0]: https://hakon.gylterud.net/newmail/ https://hakon.gylterud.net/newmail/
- astrostl 5y agoI did this with my own domain. Then sold the domain, and it was an absolute nightmare to go change my email registration everywhere because asking the buyer to forward a bajillion emails to me was overbearing. Never again!
- bpugh 5y agoI just wish it was this easy to do with physical mail as well...
- roguas 5y agoIf you use gmail you can attach + to your mail address. https://gmail.googleblog.com/2008/03/2-hidden-ways-to-get-more-from-your.html https://gmail.googleblog.com/2008/03/2-hidden-ways-to-get-mo... This ignores the rest, you can program, cancel, block your emails based on that pattern. Works well enough.