DEV Community

Cover image for Tired of overpaying for emails, I built Senddock: A Self-Hostable Email API and Campaign Platform
Sebastian Vargas
Sebastian Vargas

Posted on

Tired of overpaying for emails, I built Senddock: A Self-Hostable Email API and Campaign Platform

Handling emails in modern applications often feels like choosing between two evils: either you pay a fortune to SaaS providers as your user base grows, or you fight with ancient SMTP servers that have terrible Developer Experience (DX).

I wanted something with a modern, clean API (think Resend or Stripe), that could handle both transactional emails and marketing campaigns, but with the freedom to host it on my own infrastructure.

Since I couldn't find exactly what I was looking for, I built Senddock.

What is Senddock? 📧

Senddock is a developer-first platform and API for everything related to email. We designed it with the architecture that most devs and agencies need today in mind.

These are the core pieces (you can deep dive into our documentation):

  • Transactional & SMTP: Send confirmation emails, password resets, etc., using our RESTful API or SMTP credentials.

  • Campaigns & Subscribers: It's not just transactional. You can manage subscriber lists, segment audiences, and launch mass campaigns.

  • Workspaces & Projects: Perfect for agencies or multi-tenant architectures. You can separate clients or dev/prod environments natively.

  • Templates: Manage your email designs from a single place.

  • Analytics & Webhooks: Track open rates, clicks, and bounces. Connect webhooks so your backend can react when a user clicks on an email.

The Developer Experience (DX) 💻

We wanted the integration to be as frictionless as possible. Here is what a basic send looks like using our API:

// Example using Fetch (or your favorite HTTP client)
const API_URL = 'https://api.senddock.dev/v1/send';

const response = await fetch(API_URL, {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    workspaceId: "ws_12345",
    projectId: "proj_67890",
    to: "user@example.com",
    subject: "Welcome to our app!",
    templateId: "tpl_welcome_01",
    data: {
      name: "Dev.to User"
    }
  })
});

const data = await response.json();
console.log('Message ID:', data.messageId);
Enter fullscreen mode Exit fullscreen mode

The best part: It's Self-Hostable 🛠️

For me, this is the killer feature. If you don't want to rely on our cloud, you have total control over your data and privacy.

You can spin up the entire Senddock infrastructure on your own server. We've documented the whole process, from environment requirements to installation and configuration.

I'd love to hear your feedback 🤝

Senddock is fresh out of the oven and the documentation is live at docs.senddock.dev.

If you are building a SaaS, running an agency, or just like to tinker with infrastructure tools, I invite you to check it out.

  • What features do you consider vital in an email service that are usually missing?

  • If you self-host, what are the common hurdles you find when setting up these kinds of platforms?

I'll be reading and replying to all comments below! 👇

Top comments (1)

Collapse
 
juansesdev profile image
Sebastian Vargas

Hey DEV community! 👋

I'm Sebastián from Bogotá, Colombia. I wrote this post because I finally got tired of dealing with expensive email APIs and black-box SMTP servers, so I decided to build my own solution: SendDock.

It's a modern, self-hosted email marketing platform and API. We integrated GrapeJS so you get a beautiful visual editor out of the box, but you keep total control of your data and infrastructure (just bring your own SMTP).

It is completely free forever to self-host. (We also have a hosted Pro/Team version for those who want Analytics, Webhooks, and Audit logs without the server hassle).

🎁 Launch Promo: The first 50 people who join the waitlist get 3 months of Pro for free.

I would absolutely love your honest, developer-to-developer feedback. Especially on the API design, the documentation, and the self-hosting experience (Docker setup).

If you want to spin it up locally and break it, here are the links:
⭐ GitHub: [TU_ENLACE_A_GITHUB]
📚 Docs: docs.senddock.dev

Thank you so much for reading! 🙏 Let me know if you have any questions.