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:

laptop --SMTP--> my_server --ActivityPub--> fediverse

Replies look like this:

fediverse --ActivityPub--> my_server --SMTP--> mailbox <--IMAP-- laptop

my_server translates back and forth between ActivityPub messages and mail messages.

For example given the message:

Date: Wed, 6 Mar 2024 16:37:59 +1100
From: Oliver Lowe <otl@apubtest2.srcbeat.com>
To: localtesting@aussie.zone
Subject: test 2

test hello world!

The following ActivityPub message is created:

{
	"@context": "https://www.w3.org/ns/activitystreams",
	"id":"https://apubtest2.srcbeat.com/outbox/1709703480070628170",
	"type":"Note",
	"name":"test 2",
	"to": ["https://aussie.zone/c/localtesting","https://www.w3.org/ns/activitystreams#Public"],
	"cc": ["https://aussie.zone/c/localtesting"],
	"published":"2024-03-06T16:37:59+11:00",
	"attributedTo":"https://apubtest2.srcbeat.com/actor.json",
	"content":"test hello world!",
	"mediaType":"text/markdown"
}

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.

  • Rentlar@lemmy.ca
    link
    fedilink
    English
    arrow-up
    18
    ·
    10 months ago

    The ghost of Lemmy Kilmister graces ur presence! 🎸🎤

    Forward this to at least 3 of ur friends and you will have ur wish granted! 🤩

    • 3 friends - ur wish granted in 5 years🌟⭐
    • 5 friends - in 3 years
    • 10 friends - in 1 year
    • 20 friends - in 6 months
    • 30 friends - in 3 months
    • 50 friends - in 1 month
    • 100 friends - TOMORROW! 🌠🌠🌠

    But be careful, if you don’t pass on the good luck, Lemmy’s ghost will HAUNT you in 3 days!!! 👻😱😱 Hurry!


    [The only thing missing is random colours of text]