Self-hosted Email Sending Service

An open-source mail sending service you can use to send emails from your own server. No dependencies on AWS SES, SendGrid, Mailgun, or any database or Redis.

Features

SMTP Sending

Send emails using SMTP with reliable delivery to major email providers.

Authentication

Secure your email server with password authentication.

DKIM & SPF Protection

Protect your domain and IP address with DKIM, SPF, and DMARC records.

Easy to Use

Getting Started

First-time setup is simple with the interactive init command:

npx tinkses init

This will:

  • Detect your network interfaces (IPv4 and IPv6)
  • Generate DKIM keys
  • Help you set up a configuration file
  • Generate DNS records for your domain

After initialization, start the SMTP server:

npx tinkses

Configuration

The configuration file is a simple JSON file:

{
  "port": 25,
  "host": "localhost",
  "username": "user",
  "password": "password",
  "domain": "example.com",
  "ip": ["192.0.2.1", "2001:db8::1"],
  "dkim": {
    "privateKey": "-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----\\n",
    "publicKey": "-----BEGIN PUBLIC KEY-----\\n...\\n-----END PUBLIC KEY-----\\n",
    "selector": "default"
  }
}

DNS Configuration

For maximum deliverability, TinkSES helps you configure your DNS with:

SPF Record

Specifies which IP addresses can send email for your domain

DKIM Record

Adds a digital signature to verify email authenticity

DMARC Record

Policy for handling emails that fail SPF/DKIM checks

TinkSES generates these records during initialization and provides guidance on adding them to your DNS configuration.

Ready to start sending emails?

Get started with TinkSES today and take control of your email sending infrastructure.