Tempalias - Temporary Email Aliases
tempalias.com
tempalias.com
But the service itself is only half of the project. During development, I also created a diary explaining some design decisions along the way and showing how I went from nothing to the completed service in around 44 hours.
A good starting point is my announcment which links to the various diary entries:
From the FAQ:
"If I don't "sign up", then how do I create an account?
You don't. Mailinator creates an email account as soon as email arrives for it. All you or anyone else needs to do is send email to the name you thought up and - Kazam! - it will be there waiting for you.
Um... how do I get the email then?
Visit mailinator.com and type in the email name where is says "Check your inbox!", then click "Go!", and Mailinator will display the list of email waiting."
The beauty of tempalias (IMHO - and I'm biassed) is that you (and only you) receive your email in your usual mail client.
I have also found undisposable.net, supposedly a central database+API for blocking disposable domains. Their site seems to be down at the moment.
http://github.com/pilif/tempalias/commit/6762d1bfcbc64d67f4e...
Just allow anybody who has a domain to configure the tempalias MX as their MX (or an MX for a subdomain of theirs) and everyone (with a domain) can have their very own tempalias. Good luck blacklisting that.
Note:
this is not public yet - it's on a branch. I will implement domain name checking and maybe some kind of registration before putting something like this live - but you get the idea
Nice job.
Of course this destroyed any credible possible source of revenue I could ever generate, but this was just a fun project and I wanted to create the most useful service, which IMHO is how this works.
But nope, it's just a one-way temporary inbox service, not much different than spamgourmet or mailinator.
I don't want to do the former (gmail exists. I could never match them in terms of usability and features) and you don't want to do the latter (but certainly could right now)
I am one of these old-school mail admins though that insist that they can do what ever they want with the envelope, but the mail itself should be left alone (with the exception of the received:-header).
Once you begin messing with the message, you risk breaking stuff - in your example: What would you do if the message already had a reply-to? Sure. Store that with the session, but what if two mails with different reply-to addresses are sent in the same session? Right. Index it by message id. What if that's missing?
We are talking can-of-worms here. This is breakage waiting to happen. Sure. It'll work in many (probably most) cases, but it could also fail badly.
The "sender address" is simply whatever return address will get a message back to the sender: read from the Reply-To of the message, if it has it, or the From field, if it doesn't. The "sender alias" is simply a temporary email address, generated from the hash of the sender address. That means, whenever you receive a message with a different return address, that you create a new, different 4-tuple. You don't need to involve message-ids; every message is processed idempotently to every other, with messages from the same sender to the same receiver just happening to generate the same 4-tuples.
Picture it like being a secretary. You get a message from robj@example.com, and you tell your boss "You have a message from your friend Bob." You read it to him. He never sees the original message—he only hears your transliteration of it into speech. Then, he tells you "reply to Bob with a photo of my kids." You don't try to send it to the first Bob on his contact list; you look in your own mental map (i.e. the server database) and turn "Bob" back into robj@example.com, and send what he tells you. In other words, you're not really acting as a blind relay; you're acting more as a personal agent.
As an extra aside, the system would even work in a completely symmetrical fashion: every sender could also be a receiver, and vice-versa, as long as there was only a single method for generating aliases, and it happened automatically (i.e. users didn't get to pick anything about their aliases; they were just generated from hashes, like I mentioned.) This is basically what switchboard operators did at the inception of telephone service.
Also, I would just have to alter tempalias just a tiny little bit to actually provide the service: I'd probably need an alias with unlimited validity (that's something I'm a bit concerned about because of spammers) and a small modification to the smtp proxy - something easily done.
I'll keep this in mind as a feature for the future - or you send me patches - tempalias is licensed under MIT and available on github (http://github.com/pilif/tempalias)
So offer the service free to users looking to avoid spam, and sell to businesses looking to provide anonymous communications.
It's also pretty cool because you can easily tell who it was that sold your email. :)
This is also why SPF failures usually are not treated as enough reason to discard an email.
I'll send him a link to your comment though. Let's hope he can try to accomodate you - I really do believe that the spy is really cute.
Seriously: thanks for your valuable input! Pilif: Work your magic! :-)
Richard
http://en.wikipedia.org/wiki/Disposable_e-mail_address
Going back even further, to the 90's, it looks like tempalias is just a no-account version of http://mailexpire.com
My advice to the OP, now that you have your proof of concept, is get the heck out, running a disposable email address service is a nightmare. Welcome to a world of spammers, blocklists, backscatter, exploiters, calls from police, etc.
About paying for itself: The web bandwidth is negligible as all assets are static, transferred compressed and can be cached locally. The mail part is a bit harder to predict, but in theory, most of the time, the daemon would reject delivery due to expired aliases, so I think it's not that much of an issue either.
Bandwidth, hosting and connectivity is provided by my employer which honors my (and my coworkers) fun projects and lets them do them.
On the other hand, I am a co-founder, so that shouldn't be surprising (in July, we'll be celebrating our 10th anniversary. Bootstrapped and profitable since day 1)