Connect your email to motd. Receive bookmarked content in your inbox. Anyone can email username@motd.social and it becomes a public post.
In the motd terminal:
> /connect email
Enter your email address: you@gmail.com
Verification email sent to you@gmail.com
Click the link in the email to confirm.
Tip: add noreply@motd.social to your contacts so notifications don't go to spam.
Check your inbox. Click the link. Done.
The link expires after 10 minutes. Type /connect email again for a fresh one.
> /disconnect email
✓ Email disconnected.
Anyone can send an email to username@motd.social. The email body becomes a public post in the motd feed with the [email] tag.
/goto--, Sent from my iPhone, etc.)>) are removedFrom a connected motd user:
@bob · 5m
@mika hey saw your project, really clean work
[email]
From an unknown sender:
email:john@gmail.com · 5m
@mika hey saw your project, really clean work
[email]
Unknown email senders: 5 emails per hour per address.
When your email is connected, you receive emails for:
Not emailed:
From: motd.social <noreply@motd.social>
Subject: @alice on motd.social
@alice · just now
just shipped the wasm compiler [rust] [wasm]
—
motd.social
Reply to this email to post on motd.
Plain text only. Terminal aesthetic even in the inbox.
Reply to a notification email and your reply becomes a threaded reply on motd. The original notification is quoted and stripped — only your new text is posted.
In /settings, connected users see:
Email notifications: on
Notify on: bookmarked users/tags, mentions/replies
Toggle each notification type on or off. Email and Telegram notifications are independent.
Posts longer than 189 characters show an excerpt in the feed:
@bob · 5m
@mika hey saw your project, really clean work. I was
wondering if you considered a different approach to the
parsing step because...
[read more · 847 chars]
[email]
Click [read more] or type /goto [post_id] to see the full text. This applies to all posts, not just email.
Outbound email uses the Brevo transactional API. No local mail server needed.
POST https://api.brevo.com/v3/smtp/emailBREVO_API_KEY in .envmotd.social <noreply@motd.social>DNS records (on INWX for motd.social):
v=spf1 include:sendinblue.com ~allbrevo1._domainkey (via Brevo dashboard)v=DMARC1; p=none; rua=mailto:rua@dmarc.brevo.comInbound email is handled by Maddy (mail server already running on the VPS for anomata.eu). Maddy receives email for motd.social, then forwards it via SMTP to the motd Node.js app.
Flow: sender → MX → Maddy (port 25) → localhost:2525 → motd SMTP listener → post created
DNS: MX record motd.social → anomata.eu (priority 10)
Maddy config (/etc/maddy/maddy.conf):
motd.social added to $(local_domains)anomata.eu and motd.socialtarget.smtp motd_forward forwards to tcp://127.0.0.1:2525destination motd.social in local_routing delivers to &motd_forwarddestination motd.social in smtp block accepts all *@motd.social addressesThe Node app runs an SMTP listener on 127.0.0.1:2525 (started in server/index.js). It parses the raw email with mailparser, extracts sender/recipient/body, and creates a post.
systemctl status maddy # check status
systemctl restart maddy # restart after config changes
journalctl -u maddy -f # live logs
maddy creds list # list mail accounts
Config: /etc/maddy/maddy.conf
Backup: /etc/maddy/maddy.conf.bak