I think the only way to make distributed social media practical is to have an extremely inexpensive turnkey self-hosting solution for the average person. A Chromecast-like device that they plug into their TV that backs up all their photos, plays music, and also hosts a Mastodon instance. Some kind of very friendly backup solution where you make an "emergency contacts" list, and the device encrypts all of your data and stores it on your emergency contacts' devices as a backup, and vice-versa.
Not only did Facebook and GChat refuse to peer with little players, they refused to peer among the big players too. We could have had something like IRC for the masses, peered chat servers with bring-your-own-client. Instead, we waited decades for iMessage to get Android support which only happened long after everyone moved on to IG, Messenger, WeChat, etc.
Email is probably one of the last great open[ish] distributed systems we’ll ever see. There are just too many incentives to build walled gardens instead.
Going the self-host route, I'd still want a service of some sort so I didn't have to maintain it myself. Almost like an evergreen program that self-hosts my data and synchronizes and backups and transfers anything and everything.
Everything would be accessible outside of the program as local human readable or viewable files where possible. That'd be the best way to be non-walled garden.
I've had several email providers die since the 1980s. Each time it was a major disruption in my life. The last time, I coped by mostly dispensing with email whenever possible. Like most people I have a "good" email address for important things, that I check weekly, and a "garbage" email address I only bother to check when I have a need to.
Hosting my own mail server, not subject to some provider's ideas of filtering, or simply vanishing in the night, would make email more attractive. But the festering mess that SMTP email evolved into isn't just something you can set up in an evening. It's not even a hobby. It looks pretty much like at least a part-time job. Weighing the options, I don't really need email that badly.
If only one entity does it, as far as I can imagine it is only a marketing statement to appeal to a niche demographic - people who care about it from an ideological standpoint.
If more than one entity does it, it could lower the bar for critical mass. Instead of having to get enough people on your platform to start benefiting from the network effect, you only have to get enough people on your platform and platforms that you have bidirectional integration with.
Really, a format should be created (e.g. file.[short|vine], etc.) that could be then edited by any editor and viewed by any viewer, and all that you'd need to do to copy a YT short to a facebook reel is to copy the file itself to each platform.
It's literally the same exact concept over and over again, just wall gardened instead. So much wasted development time doing the exact same thing.
XMPP doesn't even support E2E encryption out of the box. It's as outmoded as IRC.
That would be an open relay. That is simply not something that mail servers do anymore. If one was to deliberately set up an open relay, one would find that their email server was blacklisted pretty much immediately.
I self-host my mail for over 17 years. Most of the spam I'm observing those days comes from hacked/broken websites (sometimes it's probably some stolen SMTP credentials, sometimes sent from the server directly). Legit domain name, SPF and even DKIM present, looks totally legit in this regard - only stopped by RBLs and content filtering.
I remember back in the day having to change your SMTP settings whenever you travelled to whatever the ISP was where you were staying. then you could finally send email from your @homeisp.example email
Store and forward.
Do remember that email was THE great federated protocol.
The goal of a mail server was to get your email "at least one hop" closer to your destination. And that wasn't an easy task.
Servers came online and went offline. Users logged in and out. Connections came up and went down. IP wasn't the only transit. DNS? Oh, the hosts file? Even higher things--thing DECnet and Janet.
Email was barely functional most days. Your best bet if you weren't an Internet God and weren't able to write your own super complicated sendmail.cf was to know a sysadmin at a node who had an Internet God and ask him if you could forward emails that you couldn't handle to their server.
Unfortunately, greedy people soon jumped in to take advantage of this generosity, resulting in a tragedy of the commons.
John Gilmore used to run an open relay, and I used to get spam from it. He was really stubborn about promoting the freedom of the spammers over the peace and quiet of the poor recipients. He eventually got shut down, still complaining.
Because the people on the 'net were generally not bad actors back in the day, so we would you need to lock things down?
There are types of bulk unsolicited email/web-comments which involve text without links, but they aren't spam per se; they're (the initial bait emails for) scams.
(And the usual solution to scam postings on forums, is to prevent people from sharing any off-forum contact details, except maybe via forum private message. No Nigerian prince is going to run their whole scam through the forum; they want/need to convert you ASAP into having a non-intermediated conversation with them. So they won't bother with any forum where they can't stuff their email address / Telegram handle / etc into each post.)
But if this is only a fight between admins, the intuition is that we would end up with the big instances constantly losing users to smaller ones (created by those breaking away from the bad admins) who would then federate among themselves.
I’d love a world where data was truly distributed and federated, but unfortunately, the barrier of entry is too high. Because of this people will start hosting nodes for people. Which isn’t necessarily a bad thing, but network effects will take over, and we’ll be back where we started.
Look at git. It’s distributed in all the right ways, but almost everyone uses github.
The web is decentralized, but the same few websites dominate to the point that people — even people on this very site — think that you can’t post a video except to YouTube.
This also allows authors to seamlessly switch servers without losing audience or at least being able to recreate it very easily.
Perhaps some kind of blockchain would be a solution? (No, I'm not trying to appeal to tech investors, I actually think it might offer just the solution here :P )
The experience behind this predated peer-to-peer electronic cash and related developments. You may be right, and it may still be too soon. But problems can be solved.
Looking at the 30 years and millions of dollars poured into making email work, the evidence seems to be against this
There is no technical solution for people being assholes.
Well OK there is - turn off computer or server :)
The right to peer implies the right to not peer.
(1) People are turning their noses up at Mastodon because all of Twitter isn't already there and because you'll be cut off from instances that aren't federated with yours.
(2) People are worried about "all of Twitter" becoming more people than they would like. There are communities they'd rather be cut off from and words they'd rather not read.
It's not a bug, it's a feature. Unfortunately, very influential companies that have figured out how to game our attention have tricked users into thinking they want something they don't.
No? Even if you don't want to force smaller instances to peer (which generally makes sense) you can apply more strict requirements to huge instances that contain a significant portion of the population.
The only technical way maybe. You could always legislate that large enough networks MUST peer.
PoW has been the best solution so far.
I hosted my own mail for more than 20 years. A couple years back I just got tired of trying to solve deliverability puzzles, plus the fears that deliverability issues generate. (E.g., "Did that potential employer get my email about the job?") Especially since some of the puzzles are not solvable, like why GMail does what it does. I even had friends at Google, and I still couldn't find out why GMail occasionally didn't like my server. And arguably, that's the right choice for them, as the more spammers know about how they work, the worse it is for Google staff and GMail users.
For me, switching to Fastmail hosting was a big win. It's not like I'm out of technical challenges to solve, but I get to apply that to things where the upside is greater than, "The thing everybody expects to work still works."
How many gigs? It appears that the 100GB plan is only $9/mo.
In addition to the iCloud, I have a free ProtonMail account, which I use sparingly, and anything large or important that comes in there I move to local backup and delete. 99% of the messages I get can just be deleted. If you set up pop3 you can auto delete from the server. That’s the old school solution, but it depends on your use case. The pop3 option doesn’t work well with multiple devices.
I did some experiments back when I ran my own mail. Sending from my mail server to my Microsoft account it not only marked everything as spam, it continued marking everything as spam after I marked a bunch of them as not spam.
After that, I tried also answering several of them and composing several new mails to send to my non-Microsoft email to see if Microsoft's spam system was smart enough to figure out that if I'm actively corresponding with someone their incoming mail should not be marked as spam. It was not smart enough.
Then I tried whitelisting. Nope, still spam.
If one wants such legal protections, there is the post.
(Now, should there be such a right? That's an interesting question. But a world in which one exists would raise the bar to starting one's own email server even higher).
Negligent interference.
It's real unlikely any such guarantees were made. To do so would be extremely foolish for several reasons (the false-positive rate of spam identification is known and emails can fail to deliver because of an error at either end of the transaction).
If you want guaranteed delivery with proof and tracability, send a registered letter at the post office, FedEx, etc.
Many of us do it. If you have any interest in the topic, either due to the fun of managing the servers and learning something along the way or due to the moral high ground of supporting decentralization above proprietary walled gardens, do it!
Ignore the naysayers, if you're interested you can do it.
Will some emails very occasionally end up in the spam folder of a recipient? I mean, yes, but that is true of everything. You can end up in spam folder sending from Microsoft Office mail to gmail or vice versa. Heck, every now and then an email from my manager will end up in my spam folder in gmail even though he's emailing me from gmail to gmail, both of us in the same corporate gsuite account! So on average, once you set everything up correctly, your deliverability will be as good as gmail to gmail, which is to say not 100% perfect but no worse than any other solution. And you'll be in control of your email infrastructure and address. No longer will google/microsoft/apple/yahoo be able to cut you off all your accounts on the whim an AI gone bad.
The parent post mentions a useful safety valve to know about if you're worried about deliverability and want to take baby steps to get there. You can always, either selectively or wholesale, use a commercial relay for outbound mail from your email server. Some have free tiers that are plenty for personal/family use.
Personally I don't use any third party relay, I deliver to everywhere from my own infrastructure. No issues.
This was my main experience, and all I did was try to set up the ability to simply send emails to myself (gmail) (and no-one else). Things like: this script crashed, or btrfs scrub finished + scrub results, and similar.
The first thing I tried was just setting up a VM with postfix running on it locally with my residential ISP. I don't even remember what the error was for this scenario, but it was just totally dead in the water. Absolutely zero mail delivery. I think I eventually figured out it's because google defers to spamhaus, and spamhaus says residential IPs = hard no.
That next thing I tried, and what I ended up doing, was writing a docker container that just runs an SSH port forward to jump from my local network to a digitalocean host, which is where another docker container runs postfix. I had done this bit once before, and I tried to just set up DKIM (since DKIM was, to my reading, basically bulletproof - why bother with SPF when you have real cryptographic identity assurance?). This led to weird error messages from google about my IP having a super low reputation. This was something I'd been worried about so I spent a bit of time trying to cycle my IP. But I eventually figured out it was just a bad error message and setting up SPF suddenly made my emails start delivering.
My main ongoing issue is that I had to add all my sending addresses (things my [email protected]) to my contacts in gmail, otherwise there was like a 50% chance they'd just go to spam. I've been running this setup for about a year and it's still a coin toss whether emails will come through fine, or if they'll say "this would've gone to spam but it's in your contacts". When that happens, I check the DKIM and SPF status in "original message" in gmail, and gmail itself says they both passed.
Absurd tbh.
For my "not self-hosted but better than letting google own my digital identity" solution, since I use apple icloud+ or whatever it's called, I set up the SPF stuff to let me send+receive email from my custom domain, so while icloud could still scan my mail, at least if I get banned, I still own the actual domain and could move somewhere else.
Outlook and Gmail are basically having opaque rules who can receive email and there is no process to get “whitelisted” on these receivers.
If you keep an eye on your logs, when your emails are being blackholed (it accepts them but it does not deliver them!) it does provide a link in one of the 550 status messages, where you can get yourself unblocked. I've elaborated here: https://news.ycombinator.com/item?id=31185297
However this only works temporarily, after a month you're back in the doghouse. Only senders which send a large volume of legit traffic are allowed. It's ridiculous but sadly true.
Edit: I found the message in my old emails:
---
550 SC-001 (BAY004-MCxxx) Unfortunately, messages from XXX.XXX.XXX.XXX weren't sent. Please contact your Internet service provider since part of their network is on our block list. You can also refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors.
---
In that link the "SC-001" code also refers to that reputation thing. This was the same at outlook.com / hotmail.com and live.com . It did not, however, affect corporate customers using Office 365 / Exchange 365. Only customers of MS' consumer offerings.
My "internet service provider" was a legit colocation service and nothing funny was going on in their network by the way. Microsoft was the only party that had issues with my server. All known blocklists had no issues with it. It was just MS being difficult and making up their own rules.
Anyway going to that link there is a form somewhere to temporarily unblock it. Give it a try.. Perhaps you can create an account at live.com yourself and send a daily test email or something... I thought of doing this but eventually I got so frustrated I gave up on it.
That’s the thing I’ll never understand: why would one have to spam email to be considered not spam?
I wonder at which point it is legitimate to go full conspiracy theory, and suspect they’re just trying to block the little players so they can keep their relative monopoly. Maybe they don’t do it on purpose, but the way their anti-spam measures make life real hard for the little ones sure looks convenient.
There are two ways to run a bot on Telegram, either by running the bot client directly (meh, interesting but extra setup) or by using Telegram's bot hosting system that works over HTTPS. It's the second approach that takes 3 minutes (!) to get to an MVP state for notifications.
- You walk through a flow with a specific account (@Botfather) on Telegram to create a new bot account, which gives you an API key
- Find the new bot using the search function then open a conversation with it and (after sending /start) send a junk message
- Call `curl "https://api.telegram.org/bot$APIKEY/getUpdates"` and fish out the "chat"->"id" value from the JSON representation of the message you just sent to obtain your user ID
- Call something like `curl "https://api.telegram.org/bot$APIKEY/sendMessage" -X POST -H 'Content-Type: application/json' -d '{"chat_id":"1234567890","text":"boop"}'` (set chat_id to your account id) to send a new message - yup, it's literally this simple to send messages
- Go into Telegram's settings and add the bot as a notification exception (assuming you have notifications universally turned off by default)
- If you also set the full-screen popup to "when off" Telegram will (even when your device is locked) show an instant notification containing the sent text
- Because this is a conversation, the message history will be preserved unless you explicitly delete the messages (which you can do on a per-message basis)
- The Telegram bot API supports both polling and push-based I/O, where you can periodically poll /getUpdates or have Telegram call a webhook you configure. IMHO the way easier approach is just running the bot client locally at that point, *but*, for just sending out one-way notifications where replies don't matter, the default polling setting (no webhooks) is ideal as the bot server will delete un-acknowledged messages after IIRC 24 hours or so - so you don't have to worry about queue quotas or whatever, you can just ignore the whole receive side and it just works
Obviously the caveat is that this is 1% of the complexity and equally 1% of the... provenance, for want of a better way to put it. But in terms of "I need realtime notifications now" I am yet to find a better system. It worked perfectly.
At work we've had issues with email delivery due to things like outdated IP block lists at some random ISP four hops away, only impacting deliverability when mail gets routed through that part of the web.
I've run into this with both Sam's Club and Speedway Rewards.
Only thing I can think of is that some outbound mail service they're using is dropping them, or some relay in the middle is dropping them... I can see where the word "spam" would be a keyword you might use, but I've had this email address for 15 years now and it's only been a problem in the last few years.
> I host my own email server with Vultr on an OpenBSD VM using OpenSMTPD and Dovecot
But with outgoing mail being relayed internally to dkimproxy which signs it before being relayed back to OpenSMTPD for delivery to the other email server.
I had to set up SPF and DKIM DNS records, and one time I had to request that my IP be removed from the Abusix blacklist. Other than that, it's pretty rare for my emails to be marked as spam. Outlook 365 seems to do it much more often than Gmail though.
[1] I think this is the one I had I mind, though I didn't realize it was already in ports: https://cvsweb.openbsd.org/ports/mail/opensmtpd-filters/dkim...
* https://en.wikipedia.org/wiki/Authenticated_Received_Chain
I've found ARC to fiddle some to get going than ARC.
So it's not an entirely self-hosted solution, is it?
Even my local ISP refuses mail from them.
[1]: https://discourse.mailinabox.email/t/digital-ocean-ips-being...
Man, and there's such an easy solution, too - just use Hashcash[1] (invented in 1997) and 90%+ of spam disappears overnight (if not more, depending on how high you set the difficulty).
Well, ok, "easy" in the sense that We Have An Algorithm For This - it'd still be hard to get email clients/servers to agree on a protocol...
( ) Requires immediate total cooperation from everybody at once
( ) Unpopularity of weird new taxes
( ) Public reluctance to accept weird new forms of money
( ) Huge existing software investment in SMTP
( ) Sending email should be free> Requires immediate total cooperation from everybody at once
False. As a silver lining to the Google/Microsoft email oligopoly, those providers could announce that anyone wanting to send email to those services will have to implement this protocol, and it could be done in less than a year.
> Unpopularity of weird new taxes
Irrelevant. No taxes involved - there's no money here, and users won't care if their mail takes an extra few seconds to send, because they don't expect email to be low latency anyway
> Public reluctance to accept weird new forms of money
Irrelevant - no new money involved.
> Huge existing software investment in SMTP
Irrelevant - a small number of server software are used by the majority of users. Also, see earlier point about oligopoly.
> Sending email should be free
Bad idea, and irrelevant, because it still would be.
I suggest you put thought into copypasta before putting it into a comment.
So, this argument is completely invalid.
Not if the machine is a server and was gotten into via (e.g.) a bug in a web app. I don't know about you, but I don't keep my bank account information on the LAMP systems I sysadmin.
You missed the rest:
> and/or mine cryptocurrency directly. Regardless, their spam-sending rate will still be significantly decreased
Your argument remains invalid.
I feel like, if there was such a service, it would be pretty useful to use it to prevent account registrations on other services, from users whose email addresses have domains with bad reputations. After all, they'd very likely just be registering with the intent of using the service to send or post spam in some way.
Contains blacklists on the domain level, also on the ip block and AS level.
The problem with spam is that there's no real legal recourse for spam. If it's in your own country then maybe. But outside of your country? Well the easiest thing to do is to IP block and the next best thing to do (when IP block isn't an option) is to use some sort of "smart detection" to put spam into a special box labeled "spam". There's no deterrence and literally no criminal prosecution for spam.
I host my own email server with Vultr on an OpenBSD VM using OpenSMTPD and Dovecot, relaying all outbound mail through SMTP2Go (their free tier more than meets my needs). I have all of the necessary DNS entries set to mark my mail as legit, and I sign all outgoing mail using strong 2048-bit RSA keys. Thus far, I'm able to send mail and not have it marked as spam (at least to everyone that I've corresponded with thus far). It was a lot of work to get to that point, but not terrible.