frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Posthorn, self-hosted mail without the mail server

https://github.com/craigmccaskill/posthorn
10•craigmccaskill•2h ago
Introducing Posthorn, a self hosted email gateway. One docker container (or Go binary) between every self hosted app on your VPS and your transactional email provider. Set up Posthorn once, point your apps to it, done.

I was trying to deploy Ghost on a DigitalOcean droplet and found that DO and many different VPS services have started to block the default SMTP ports to try to combat the various types of abuse they get. To actually configure my app, I had to hack together a Postfix relay.

In another project, I had a static site which had a contact form, but my free Formspree account was occasionally hitting usage limits and I desperately wanted some of the anti-spam features they had gated behind their paid accounts so I put together a caddy module to catch HTTP POSTs and bounce them to my provider.

I kept bumping into these same email issues. Many of the services I wanted to host (Gitea, Mastodon, Umami, Comentario) ran into the same limitations. This felt like a really common issue that had no good solution.

Posthorn is what I built to solve this. It's a small Go binary (or 10 MB docker image) that sits between your self hosted apps and your transactional email provider of choice (shipping with support for Postmark, Resend, Mailgun, Amazon SES or an outbound SMTP relay). It also accepts POSTs from HTML forms to support static site needs while adding security layers such as honeypot fields, origin checks and IP rate limiting. There's also a JSON HTTP API that supports Bearer auth for backend scripts or cron jobs that just want a /send endpoint.

I now use this personally in multiple scenarios and I've spent a lot of time beating this up and testing against what I can validate. I'd love to hear how this might be useful for you, what breaks and any feedback you might have. It's open source under Apache 2.0 and I'd love contributions. I'm planning to support and grow this for the long haul.

Code: https://github.com/craigmccaskill/posthorn

Docs: https://posthorn.dev/

Longer write up: https://craigmccaskill.com/introducing-posthorn/

Previous HN discussion on the exact issue I'm trying to solve: https://news.ycombinator.com/item?id=43620318

Comments

throwaway81523•17m ago
Is Posthorn a reference to W.A.S.T.E.?
ranger_danger•10m ago
Don't services like SES already operate over 443/TLS and aren't blocked?
npodbielski•6m ago
> Nobody wants to self host email server.

I do. Though I am self hosting it to have my personal email, being well... personal. Not for my company so maybe I am not the target.

Interesting project though. I always felt missing API to just send emails from some script in my mail server.

Show HN: Posthorn, self-hosted mail without the mail server

https://github.com/craigmccaskill/posthorn
10•craigmccaskill•2h ago•3 comments

Show HN: STAX IDE – A zoomable macOS canvas of terminals and tools

https://staxide.com
2•vbaranov87•2h ago•0 comments

Show HN: Tasmap – Canva for Maps

https://tasmap.app/
3•apolkingg8•2h ago•0 comments

Show HN: Rapel – chunked resumable downloads in unstable networks

https://github.com/redraw/rapel
11•autorun•1d ago•7 comments

Show HN: GoPeek – open links in live mini browser windows without new tabs

https://guptalog.substack.com/p/gopeek-open-links-in-live-mini-browser
19•GeorgeWoff25•44m ago•0 comments

Show HN: A website that tracks every stock trade Congress makes

https://congress.kadoa.com/
30•hubraumhugo•14h ago•9 comments

Show HN: OpenBrief – Local-first video downloader/summarizer

https://github.com/tantara/openbrief
87•tantara•1d ago•17 comments

Show HN: Cross-agent messaging and shared memory over the local filesystem

https://oacp.dev
9•haoranchg•13h ago•4 comments

Show HN: Stumbleback – StumbleUpon for the bookmarks you've been hoarding

https://chromewebstore.google.com/detail/stumbleback/fkmbjmmdkpfpcnmbgnpmnkhnhecieigk
2•jimsojim•2h ago•0 comments

Show HN: Audiomass – a free, open-source multitrack audio editor for the web

https://audiomass.co/?multitrack=1
536•pantelisk•2d ago•117 comments

Show HN: Write your BPF programs in Go, not C

https://github.com/boratanrikulu/gobee
111•boratanrikulu•5d ago•54 comments

Show HN: Geomatic – A command-driven geometry studio enabled with autodiff

https://www.tinyvolt.com/geomatic
71•nivter•1d ago•16 comments

Show HN: I built a tool to auto-accept AI slop and bigtech devs loves it

https://github.com/Alcray/SlopeAutoAcceptor
10•alcray•10h ago•0 comments

Show HN: Fungible – A local personal finance app in the terminal

https://github.com/tomfunk/fungible
21•tomfunk•1d ago•12 comments

Show HN: DDoS detection in 500 lines of Python (MIT, no cloud, no account)

https://github.com/Flowtriq/ftagent-lite
4•jacob_masse•10h ago•4 comments

Show HN: NeuroFlow 55.8x video inference speedup for Vision Transformers PyTorch

https://github.com/ynnk-research/-NeuroFlow
6•ynnk•15h ago•0 comments

Show HN: TUI to keep track of local GSD (get-shit-done) projects

https://github.com/bitcreed/gsd-meta-manager/
2•_blk•12h ago•0 comments

Show HN: An LLM translator whose source is a single prompt

https://github.com/hamsterbase/llm-translator
5•Cassandra99•12h ago•0 comments

Show HN: I used AI to built static recompilers for 5 retro game systems

https://1379.tech/nes-snes-genesis-virtualboy-and-psx-a-journey-with-ai-and-recompilation/
5•Gamemaster1379•13h ago•0 comments

Show HN: Speakrs Full PyAnnotate pipeline in Rust/ONNX 20-37x times faster macOS

https://github.com/avencera/speakrs
2•praveenperera•14h ago•0 comments

Show HN: skills-for-humanity – 171 structured reasoning skills for Claude Code

https://github.com/human-avatar/skills-for-humanity
17•finnworks•1d ago•5 comments

Show HN: Mind-expander, a visual workspace for coding with AI agents

https://github.com/mbbill/mind-expander
3•mbbill•15h ago•1 comments

Show HN: TryPost – open-source Social Media Scheduler

https://trypost.it/en
12•paulocastellano•1d ago•6 comments

Show HN: Chuchu, a modern Android SSH client powered by libghostty

https://github.com/jossephus/chuchu
2•jossephus01•16h ago•0 comments

Show HN: Volt – front end tooling for Phoenix that runs inside the BEAM

https://github.com/elixir-volt/volt
24•dannote•1d ago•1 comments

Show HN: I open-sourced two AI agents with real memory (chat and voice, MIT)

https://github.com/SynapCores/synapcores-agent
5•SQLv2•16h ago•0 comments

Show HN: Harbor v0.4.19 – harbor launch –back end vLLM –web codex

https://github.com/av/harbor/releases/tag/v0.4.19
4•everlier•16h ago•0 comments

Show HN: Local-first PDF redaction for permanently removing data

3•daoxiaoyue2012•16h ago•2 comments

Show HN: Kakeibo – a simple budget tracking app for simple people

https://getkakeibo.com/en/
2•palpfiction•16h ago•0 comments

Show HN: Compile-time model-id validation with declared capability

https://github.com/yujonglee/openrouter-toolkit
2•yujonglee•16h ago•1 comments