Taifa MailTaifa Mail Docs
Getting Started

Quickstart

Send your first email in 5 minutes.

This guide walks you through account setup, domain verification, and sending your first email via the REST API.

Step 1: Sign up

Go to govconnect.ke and create an account. You can sign up with:

  • Google - click "Continue with Google"
  • GitHub - click "Continue with GitHub"
  • Email and password - enter your email and choose a password

After signing in you land on the dashboard. Taifa Mail creates a personal workspace for you automatically, and your account starts on the Free plan (100 emails/day, 3,000/month).

Step 2: Add a domain

You need a verified domain before you can send. Using a domain you own (e.g. notifications.yourcompany.co.ke):

  1. Go to Domains in the sidebar.
  2. Click Add Domain and enter the domain name.
  3. Taifa Mail gives you five DNS records to add:
    • Domain Ownership - A TXT record proving you own the domain
    • SPF - A TXT record authorizing Taifa Mail to send on your behalf
    • DKIM - A TXT record for cryptographic email signing
    • DMARC - A TXT record for abuse reporting and policy enforcement
    • Return Path - A CNAME record for bounce handling
  4. Add these records at your DNS provider (Cloudflare, Namecheap, GoDaddy, etc.). The dashboard shows you exactly what to add and where.
  5. Click Verify. DNS can take a few minutes to propagate (Cloudflare: instant-5m, others: 5-48 hours). The dashboard auto-checks every 15 seconds.

These five records are all you need to send. To also receive mail for the domain (replies, the Inbox, or forwarding) you add one more record - an MX record pointing at mx1.govconnect.ke. See DNS Records Explained for the details.

Use a subdomain like mail.yourcompany.com for transactional email. This isolates your sending reputation from your main domain.

Step 3: Create a sender address

  1. Go to Domains and select your verified domain.
  2. Open the Senders tab.
  3. Click Add Sender and enter the address you want to send from (e.g. hello@mail.yourcompany.com) and a display name.

Step 4: Send via API

Grab your API key from Settings → API Keys. Then send your first email:

curl -X POST https://govconnect.ke/v1/emails \
  -H "Authorization: Bearer tfm_k_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "from_": {
      "email": "hello@mail.yourcompany.com",
      "name": "Your Company"
    },
    "to": [
      { "email": "recipient@example.com" }
    ],
    "subject": "Hello from Taifa Mail",
    "html": "<h1>It works!</h1><p>Your first email sent through Taifa Mail.</p>",
    "text": "It works! Your first email sent through Taifa Mail."
  }'

Prefer an SDK?

Official client libraries handle auth, retries, and JSON for you. The same send in a few languages (see SDKs for all nine):

import { Taifa Mail } from '@taifamail/sdk';
 
const taifamail = new TaifaMail({ apiKey: process.env.TAIFA_MAIL_API_KEY! });
await taifamail.emails.send({
  from: 'hello@mail.yourcompany.com',
  to: 'recipient@example.com',
  subject: 'Hello from Taifa Mail',
  html: '<h1>It works!</h1>',
});

A successful response returns 202 Accepted with the email ID:

{
	"id": "em_abc123def456",
	"status": "queued",
	"created_at": "2026-04-06T10:30:00Z"
}

Always include both html and text fields. Some mail clients only render plain text, and having both improves deliverability scoring.

Step 5: Check delivery

You can check delivery status in two ways:

Dashboard - go to Email Logs to see a timeline of every email with its current status (queued, delivered, opened, bounced, etc.).

API - fetch events for a specific email:

curl https://govconnect.ke/v1/emails/em_abc123def456/events \
  -H "Authorization: Bearer tfm_k_your_api_key_here"
[
	{
		"id": "ev_123",
		"event_type": "queued",
		"metadata": null,
		"created_at": "2026-04-06T10:30:00Z"
	},
	{
		"id": "ev_124",
		"event_type": "delivered",
		"metadata": null,
		"created_at": "2026-04-06T10:30:02Z"
	},
	{
		"id": "ev_125",
		"event_type": "opened",
		"metadata": { "timestamp": "2026-04-06T10:31:15Z" },
		"created_at": "2026-04-06T10:31:15Z"
	}
]

What next?

  • API Reference - full endpoint documentation for emails, contacts, domains, and webhooks.
  • SMTP Guide - configure your app to send via mail.govconnect.ke.
  • Plans & Pricing - compare limits and upgrade when you need more volume.

On this page