Weird idea continues connecting fediverse and email
What have I done?! My abomination of an idea of bridging my email and
ActivityPub progresses. If you see this message, something is working!
Comments replies are welcome as it's a good test of this system :)
People keep saying ActivityPub is a lot like email. If it's so similar
to email, could I use my email client to interact with the fediverse?
Previously I did this by writing a SMTP interface to the Mastodon HTTP
API. That worked. But as we probably know, the fediverse is not
Mastodon; it's really ActivityPub. The real deal would be working
with ActivityPub directly, not the Mastodon HTTP API.
And that's now (mostly?) working! In shonky diagram form, sending
looks like this:
There's still a lot of bugs (of course) and unimplemented bits (of
course). I can't call this a proper fediverse service yet. I'm going
to roll with this for a bit and see how it holds up.
Excuse my ignorance but how will the fediverse defend itself against email spam?
That's a good question. Right now there's very little stopping people from
spinning up some ActivityPub server and blasting out messages. I'm
actually surprised at how little ActivityPub spam there is currently.
One of the awesome things about the fediverse is how anti-commercial it
is right now. Maybe it's not a major target for spam because there's
not a lot of money in it.
But if you can keep spamming our (heh) a new site for like 99c a domain name, you could do this a lot despite getting banned.
The alternative is something like FediSeer where you can get sites guaranteed by others and block anything not given the all-clear, but that really harms the ability for new sites to appear.
Does it also send you an update of how many upvotes you get?
Well, I receive the corresponding ActivityPub "Like"s from the
servers. But right now I just drop the message. I suppose that could
turn into a mail message with a body like "user X liked your post" or
something, but that doesn't feel like a natural mapping to me.
I'm also one of those people that hides upvote & boost counts in
my Mastodon app ;)
This is interesting, but have you considered porting to Usenet? It's basically a shared inbox thats whole intent is threaded conversation. Sound familiar?
This is interesting, but have you considered porting to Usenet?
Yes that's on the list! Now that I have a whole bunch of RFC822 files,
(in Maildirs) I can also serve them over read-only NNTP. This was the
original goal actually - I like the idea of using the simpler protocol
NNTP over IMAP to read stuff.
Looks like a really fun project and honestly, this looks like the future of mailinglists (fuck mailinglists). Do keep working on it. I'd much rather have this put in front of LKML than the terrible interface they have right now.
Darn it, you got me. I hadn't thought about it more deeply, but now I'll give it a few minutes.
So yeah, a lemmy UI to LKML would make the experience much better. Obviously the LKML serves two purposes: discussion and code review, for which the latter lemmy probably isn't too well equipped, but it would help make it more approachable.
Probably to make it work there'd need to be some kind of listener. I imagine signing up to a mailinglist with an email address of the domain running your software would suffice. Incoming emails would then be converted to activitypub messages and sent to the lemmy server you control.
You'd have two classes of email addressed: list email addresses which map to lemmy communities and user email addresses which map to users on the lemmy server (which could also be remote users in the fediverse). The list email addresses are there to create posts in the lemmy community and populate existing lemmy posts (created in the mailinglist) with responses from the mailinglist (response = comment).
A user on lemmy on lemmy commenting on a post from a mailinglist would be automatically signed up to the mailinglist with a user email address that's dynamically created (I think your email has to be signed up otherwise the mailinglist rejects it). Upon successful signup, the response would be sent using their email address to the maillinglist thread.
The other way around, a comment would show up on lemmy with email address and username of the person that responded on the mailinglist.
(10 minutes later) After writing it out, I'm not sure it's what you're doing and more like a bridge, but maybe it'll inspire you. Who knows.
There's probably something I'm missing and probably this isn't even what your intention was when you started out with this.
When you specify To: [email protected] how does the bridge know if you meant https://aussie.zone/c/localtesting or https://aussie.zone/u/localtesting instead?
When you specify To: [email protected] how does the bridge know if you meant https://aussie.zone/c/localtesting or https://aussie.zone/u/localtesting instead?
Good question
The process of going from that email-like address to an ActivityPub
Actor (https URL) is done by WebFinger. So whatever we get back from
that lookup is who we send the message to. For example, when we look
up [email protected] we get this response (truncated for
readability):
Hi there! Looks like you linked to a Lemmy community using a URL instead of its name, which doesn't work well for people on different instances. Try fixing it like this: [email protected]