This post was migrated from Maylog
Maylog has been shut down, this post contains outdated information
This is my first post here on Maylog, and I am going to talk about how I made it. I have been looking for a blogging solution for a while, but none really fit my needs. Wordpress was too heavy, Blogger was too Googly, Medium has paywalls, etc. I considered Jekyll, but it seemed somewhat out of date and was hard to get up and running. After a few misadventures with Github actions and markdown, I gave up. While working on a different project that needed to send email, I was using https://www.mail-tester.com/ for insight into why my (not spammy) emails were being sent to spam, and it turns out, sending email when you don't have an MX record setup is a big red flag. To set up inbound email, I turned to https://forwardemail.net/, a service that will forward inbound emails to another email address. While looking at their docs, I saw they had added webhook support. I was intrigued. I was thinking about use cases when it hit me. I could use this to publish to a blog. I wrote a Node app with Express and a Sqlite database, and got emails to go into the database. Next, I made code to generate JSON feeds. I used an off the shelf npm package to convert them to Atom, and wrote a custom JSON feed to HTML converter. Whenever a post is made, the server rebuilds the site and deploys to https://surge.sh/.
To use Maylog, simply send an email to "Your Blog Name<email@example.com>", and the server will reply with the link to your post. Choose the names carefully, I haven't set up a way to change them yet. The email's subject will be the post title, and the plain text body will be the post's text. Once someone posts to a Maylog blog, only posts from their email are accepted. DKIM is required on incoming mail (If I set things up right), so people can't post to your blog.
I can't wait to see what you write! Thanks for reading, next I will post about how I set up a custom domain system for Maylog.