(
    title: "Re Email in fact its worse",
    summary: None,
    published: Some((
        year: 2022,
        month: 3,
        day: 20,
        hour: 19,
        minute: 02,
        second: 00,
    )),
    tags: ["thoughts", "email", "programming", "satire"],
)
---
=> gemini://rawtext.club/~ploum/2021-10-20.gmi Ploum makes some great observations about email.

I would like to submit that it's in fact worse than that and always has been. Enough so that I don't find the idea of attempting to salvage it feasible. I'd rather starrt from scratch. Let's consider two users and email in it's official implementation.

User adent@dressinggown.uk sends an (unsolicited) email to user trillian@heartofgold.space. The subject read's "Hey it's Arthur, the guy from that fancy dress party" and he proceeds to try desperately to plead with her to give him another chance. The message gets sent, in plain text, all the way from the UK to somewhere in the vacinity of the Horsehead nebula, where we find Trillian reading her email. By this time, the cost of this message has been amplified a billionfold due to the distance that it has had to travel. Indeed, it is believed that Galctic president Beeblebrox has sent enough unsolicited d**k pics this year alone to deplete the sum total energy output of a small star with an (unfortunately now extinct) intelligent species on it's second planet. This message was accepted by the server without question and now resides on the email server aboard the Heart of Gold. Because that's, as I see it, one of the chief flaws baked into email from the beginning.

### You can literally place anything that you want onto an email server by sending an email to one of it's users.

It's this flaw mainly, that I would remedy if I could. Why should you be able to upload files to a server without permission? Because that's what you're doing whenever you send an email. Trillian never consented to receive Arthur's email, yet there it sits in her inbox, right next to an advert for public telephone sanitization from the Golgafrinchan's and several dozen unopened notifications that another user on some social network "liked" her photo. I envision instead, a new protocol, where the receiver get's to decide whether to accept the message. Sort of a "collect call" but in electronic message form.

In my scenario, user adent@dressinggown.uk types out his message and hit's send. The server at dressinggown.uk opens a tcp connection and performs a tls handshake with the server at heartofgold.space. It then sends a single line containing the subject of this message. From there, the server at heartofgold has three options. If the address adent@dressinggown.uk is in a list of addresses approved by user trillian@heartofgold.space, the server can respond with an Ok status, and the message is transmitted and placed into Tricia's inbox. If the address adent@dressinggown.uk is one which has not previously been dealt with, the server can send a "Maybe later" response, telling the originating server to hold on to the message for now, and then hangs up the connection. The third option is that the receiving server just terminates the connection, because Arthur really did totally blow it and his address has been permanently blocked. Notice that only in the first instance is the body of the message ever transmitted. In both of the other cases no bandwidth has been consumed by transmitting the body, only the subject line, and the full message only exists on the originating server. The server aboard Starship HeartOfGold is about as powerful as a small digital watch, and could make do with a few eight inch floppies for storage.

Assuming that this is the first message that Arthur has sent, let's see what happens when Tricia checks her mail.

Tricia has her normal inbox. It's surprisingly clean, because she only has messages in it which she has consented to receive. She has another folder, call it her "request box". In that folder are requests to send messages from not only Arthur, but several other guys she met at that same party. There is also a request from President Beeblebrox, to look at another picture of his d**k. She has purposely left them all "on read" because she just wants to enjoy being in space for a while. There are no advertising messages, because what would be the point? Any spam sent through this system would only consume the resources of the sender, and never reach the intended target. She does have a few other options for dealing with these requests, however. If she just wanted to see what Arthur had to say, without committing to any further contact, she could press the appropriate button and the server aboard heartofgold would open a tcp connection to dressinggown.uk, perform the tls handshake and requests the message that it told the originating server to hang on to. The message is then transmitted. Should Arthur decide to send any further messages the process would repeat. Alternatively, she could hit the "Hell no" button and any further requests from arthur would just receive a hang up. The final option would be for her to accept all from this address, adding it to the whitelist so that all future messages from this address get sent straightaway.

I actually believe a system like this would in fact be pretty easy to knock together. It would require that the servers do away with the notion of sending and receiving being tasks belonging to separate servers, and instead each server would be both sender and receiver. Technically it's probably not much more complex than Gemini to hack together. Adoption is of course sketchy, as in all new ideas. This has been mostly spitballing, but honestly I think even a half baked idea like this is better than the ridiculously naive protocol that we have in email.
