Back to Overview

Email Setup: Postmark

Send transactional email through Postmark for high deliverability and detailed delivery analytics.

Luka Breitig — Technical Product Builder & AI Developer
Luka Breitig

Technical Product Builder & AI Developer

Before You Begin

  • A Postmark account — the free tier covers 100 emails per month and is sufficient for testing
  • A domain you control for sending — you will need to add DNS records to verify it with Postmark
  • A running Tymeslot instance with access to its environment variables or .env file
  • Ability to restart the Tymeslot process after updating environment variables

By the end of this guide, Tymeslot will send all transactional email through Postmark with full delivery tracking and bounce management.

Why Use Postmark Instead of Generic SMTP?

Generic SMTP works but gives you no visibility into what happens after Tymeslot hands an email off. Postmark is a dedicated transactional email service — built for exactly the kind of booking confirmation and notification traffic Tymeslot generates. For professional deployments, the operational difference is significant.

  • Dedicated infrastructure — your emails share a sending pool only with other transactional mail, never marketing blasts. This keeps your sender reputation clean.
  • Per-email delivery tracking — see exactly when each booking confirmation was delivered, opened, or bounced. No guessing.
  • Bounce management — Postmark automatically suppresses future sends to hard-bounced addresses, protecting your domain's reputation without manual intervention.
  • Free tier — 100 emails per month at no cost. Sufficient for small deployments and all initial testing.

1 Create a Postmark Account

  1. 1 Go to postmarkapp.com and click Start Free. Fill in your name, email, and a password.
  2. 2 Confirm your email address via the verification link Postmark sends you. You will not be able to send emails until your account email is confirmed.
  3. 3 After confirming, you are taken to the Server list screen. This is your home base — each Server in Postmark is a logical grouping of email streams with its own API token, activity logs, and settings.

2 Create a Server

A Postmark Server is a logical container for your sending activity — it holds your API token, message streams, and delivery history. Create one per Tymeslot environment (e.g., one for production, one for staging).

  1. 1 On the Server list screen, click Create Server.
  2. 2 Enter a name — "Tymeslot Production" is a good default. You can add more servers later for staging or development environments.
  3. 3 Click Create Server. You are taken to the server dashboard, which shows an empty Activity stream and tabs for Message Streams, Settings, and others.

3 Get Your Server API Token

  1. 1 Inside the server you just created, click the [Settings] tab in the top navigation.
  2. 2 You see the Server API Token field near the top of the page. Click Show to reveal it, then click Copy.
  3. 3 Keep this token private. It authorises Tymeslot to send email on behalf of this server. Store it in your password manager or secrets vault — you will paste it into your environment variables in Step 5.

Server API Token vs Account API Token

Postmark has two token types. Use the Server API Token — found inside a specific server's Settings. Do not use the Account API Token found in your profile settings; it has broader account-level permissions and is not needed here.

4 Verify Your Sender Domain

Postmark will not deliver email from an unverified domain. Domain verification also enables DKIM signing, which significantly improves inbox placement.

  1. 1 In the top navigation, click [Sender Signatures]. This is account-level, not server-level — it appears in the sidebar outside any specific server.
  2. 2 Click Add Domain or Signature, then choose Add Domain. Enter the domain portion of your sending address — for example, if EMAIL_FROM_ADDRESS=noreply@acme.com, enter acme.com.
  3. 3 Postmark shows you two DNS records to add: a DKIM TXT record and a Return-Path CNAME. Add both to your domain's DNS settings through your registrar or DNS provider.
  4. 4 Click Verify. DNS propagation can take a few minutes to up to 24 hours. When both records are detected, the domain status changes to Verified with a green indicator.
  5. 5 Confirm the DKIM and Return-Path status both show as verified before moving to Step 5. Partial verification is not sufficient.

Testing Before Domain Verification Is Complete

If you cannot wait for DNS to propagate, you can add a single-address Sender Signature (Add Signature instead of Add Domain) and verify just that email address. Set EMAIL_FROM_ADDRESS to that address for initial testing, then switch to a domain signature once verified.

5 Configure Environment Variables

Open your .env file (or your hosting platform's environment variable settings) and set the following. Use the Server API Token you copied in Step 3.

EMAIL_ADAPTER=postmark
EMAIL_FROM_NAME="Acme Corp"
EMAIL_FROM_ADDRESS=noreply@acme.com
POSTMARK_API_KEY=your-server-api-token
Variable Purpose
EMAIL_ADAPTER Must be postmark to use Postmark's native API adapter instead of generic SMTP.
EMAIL_FROM_NAME The display name recipients see in their inbox — e.g., "Acme Corp". Wrap in quotes if it contains spaces.
EMAIL_FROM_ADDRESS Must belong to a domain or signature that is fully verified in Postmark.
POSTMARK_API_KEY The Server API Token from Step 3. Do not use an Account API Token.

6 Restart Tymeslot

Tymeslot reads environment variables at startup. Save your .env file and restart the application — changes will not take effect until you do.

After the process comes back up, trigger a test email by going to your Tymeslot sign-in page and clicking Forgot password?. Enter your account email address and submit.

You should receive the password reset email within a few seconds. While you wait, open the Postmark dashboard and go to your server's [Activity] tab — you will see the email appear in near real-time as Postmark processes it.

If you get a "422 — Sender signature not found" error

The domain in your EMAIL_FROM_ADDRESS is not verified in Postmark. Return to Step 4 and confirm that both the DKIM and Return-Path records show as verified before retrying.

If you see "sandbox mode" and emails only go to verified recipients

Free Postmark accounts restrict outbound email to verified sender addresses only — this is their sandbox behaviour. To send to any recipient, upgrade to a paid account through [Account][Billing].

Monitoring Deliverability

The Activity tab inside your Postmark server is your primary operational tool. It shows every email Tymeslot has sent, with a full timeline for each message.

For each email you can see: the recipient address, the message subject, when it was submitted to Postmark, when it was delivered to the recipient's mail server, whether it was opened, and — if delivery failed — the exact bounce reason.

Check the Activity tab after your first real bookings go out. If you see hard bounces, the recipient addresses are invalid — Postmark will suppress future sends to those addresses automatically. If you see soft bounces (temporary failures), Postmark retries delivery automatically.

Spam Complaints

If a recipient marks your email as spam, Postmark surfaces this as a spam complaint in the Activity view. Repeated complaints harm your sender reputation across all providers. Keep an eye on the [Suppressions] tab to see which addresses have opted out or bounced.

Frequently Asked Questions

What's the difference between a Server Token and an Account API Token?

Postmark has two distinct token types and it is important to use the right one. The Server API Token is scoped to a single Postmark server — it can only send email and access activity for that server. The Account API Token lives in your profile settings and has broad account-level access including billing and server management.

Tymeslot expects the Server API Token. Using the Account API Token will work in some cases but gives Tymeslot more access than it needs, and is not recommended. Find the Server Token inside your server under [Settings] → API Tokens.

My emails are showing as 'sent' in Tymeslot but not arriving — why?

If Tymeslot reports success but emails are not reaching the inbox, the issue is downstream of the application. Open the [Activity] tab inside your Postmark server — every outbound message appears there with a full delivery timeline.

Look for soft bounces (temporary delivery failures that Postmark retries automatically), hard bounces (permanent failures — usually an invalid address), or spam complaints. If messages show as Delivered in Postmark but still do not appear in the inbox, check the recipient's spam or junk folder. If the domain is unverified or DKIM is missing, inbox placement drops significantly.

Do I need to verify my sending domain with Postmark?

Yes — Postmark requires domain verification before it will deliver email at production scale. Unverified or trial accounts are restricted to very low sending volumes and cannot send to arbitrary recipients.

Domain verification also enables DKIM signing, which is one of the most important factors for inbox placement. Without DKIM, a higher proportion of your emails will land in spam regardless of content. Follow Step 4 in this guide to add the DKIM TXT record and Return-Path CNAME that Postmark provides. Once both show as verified, your domain is fully authorised.

Can I use Postmark's sandbox mode for testing?

Postmark does not have a traditional sandbox environment the way Amazon SES does. Instead, new accounts that have not yet been approved for production sending are restricted to sending only to verified sender addresses — you can test the full email flow as long as the recipient address is one you have verified in your Sender Signatures.

Once your account is approved for production sending (which happens automatically after Postmark's onboarding review), you can send to any recipient. You can also use Postmark's Message Streams feature to create a dedicated test stream that you can use for development without affecting your production activity log.

How do I find my Server Token in Postmark?

In the Postmark dashboard, navigate to Servers and select the server you created for Tymeslot. Inside the server, click the [Settings] tab in the top navigation. The Server API Token is shown near the top of that page — click Show to reveal it, then Copy to copy it to your clipboard.

If you cannot find the Settings tab, make sure you are inside a specific server — not at the account level. The account-level view shows the server list; you need to click into a server first.

Verify Your Setup

Work through this checklist to confirm Postmark is fully wired up and delivering.
  • Password reset email arrives in your inbox — trigger a reset from the sign-in page and confirm delivery within a few seconds.
  • The email appears in Postmark's Activity stream — open [Activity] inside your server and confirm the message shows a Delivered status.
  • Booking confirmation arrives after a test booking — create a test event type, book a meeting using a second email address, and confirm the attendee confirmation arrives.
  • FROM address is correct — both emails should show the name and address from EMAIL_FROM_NAME and EMAIL_FROM_ADDRESS, not a Postmark default.
  • No errors in the Suppressions tab — confirm your test addresses have not been bounced or suppressed by Postmark.

🔗 Related Articles

Read Email Setup: SMTP

Email Setup: SMTP

Configure outgoing email via SMTP. Required for booking confirmations, password resets, and meeting reminders.

Read Docker Self-Hosting

Docker Self-Hosting

Deploy Tymeslot using Docker and Docker Compose. Perfect for VPS hosting, home servers, or any environment with Docker support.

Read Cloudron Deployment

Cloudron Deployment

One-click installation on Cloudron. Automated backups, SSL certificates, and updates handled automatically.