Set up DMARC and see who's sending email using your brand's domain.
x

Reliable email delivery for startups

Great deliverability, simple monthly pricing, and 45 days of email history as standard. Postmark is the ideal provider for your startup’s application emails.

Bootstrapping your startup? We’ve got something special for you →
API

Start sending in minutes

With API libraries for pretty much every programming language you can think of, Postmark fits seamlessly into any stack.


// Send an email with the Postmark-PHP library
// Learn more -> https://postmarkapp.com/developer/integration/official-libraries#php

// Install with composer
composer require wildbit/postmark-php

// Import
use Postmark\PostmarkClient;

// Example request
$client = new PostmarkClient("server token");

$sendResult = $client->sendEmail(
  "sender@example.com",
  "receiver@example.com",
  "Hello from Postmark!",
  "This is just a friendly 'hello' from your friends at Postmark."
);

# Send an email with the Postmark Ruby Gem
# Learn more -> https://postmarkapp.com/developer/integration/official-libraries#ruby-gem

# Add the Postmark Ruby Gem to your Gemfile
gem 'postmark'

# Require gem
require 'postmark'

# Create an instance of Postmark::ApiClient
client = Postmark::ApiClient.new('POSTMARK_API_TEST')

# Example request
client.deliver(
  from: 'sender@example.com',
  to: 'receiver@example.com',
  subject: 'Hello from Postmark',
  html_body: '<strong>Hello</strong> dear Postmark user.',
  track_opens: true
)

# Send an email with the Postmark Rails Gem
# Learn more -> https://postmarkapp.com/developer/integration/official-libraries#rails-gem

# Add this to your gemfile
gem 'postmark-rails'

# Add this to your config/application.rb file:
config.action_mailer.delivery_method = :postmark
config.action_mailer.postmark_settings = { :api_token => "POSTMARK_API_TEST" }

# Send the email
class TestMailer < ActionMailer::Base
  def hello
    mail(
      :subject => 'Hello from Postmark',
      :to  => 'receiver@example.com',
      :from => 'sender@example.com',
      :html_body => '<strong>Hello</strong> dear Postmark user.',
      :track_opens => 'true'
    )
  end
end

# Send an email with the Postmark Python library
# Learn more -> https://postmarkapp.com/send-email/python

# Install the Postmark Python library with pip from the command line:
pip install postmarker

# Import
from postmarker.core import PostmarkClient

# Create an instance of the Postmark client
postmark = PostmarkClient(server_token='POSTMARK-SERVER-API-TOKEN-HERE')

# Send an email
postmark.emails.send(
  From='sender@example.com',
  To='recipient@example.com',
  Subject='Postmark test',
  HtmlBody='HTML body goes here'
)

// Send an email with the Postmark .NET library
// Learn more -> https://postmarkapp.com/developer/integration/official-libraries#dot-net

// Install with NuGet
PM> Install-Package Postmark

// Import
using PostmarkDotNet;

// Example request
PostmarkMessage message = new PostmarkMessage {
    From = "sender@example.com",
    To = "receiver@example.com",
    Subject = "Hello from Postmark",
    HtmlBody = "<strong>Hello</strong> dear Postmark user.",
    TextBody = "Hello dear postmark user.",
    ReplyTo = "reply@example.com",
    TrackOpens = true,
    Headers = new NameValueCollection {{ "CUSTOM-HEADER", "value" }}
};

PostmarkClient client = new PostmarkClient("POSTMARK_API_TEST");

PostmarkResponse response = client.SendMessage(message);

if(response.Status != PostmarkStatus.Success) {
    Console.WriteLine("Response was: " + response.Message);
}

// Send an email with the Postmark.js library
// Learn more -> https://postmarkapp.com/developer/integration/official-libraries#node-js

// Install with npm
npm install postmark --save

// Require
var postmark = require("postmark");

// Example request
var client = new postmark.ServerClient("server token");

client.sendEmail({
    "From": "sender@example.com",
    "To": "receiver@example.com",
    "Subject": "Test",
    "TextBody": "Hello from Postmark!"
});

# Send an email with curl
# Copy and paste this into terminal

curl "https://api.postmarkapp.com/email" \
  -X POST \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Postmark-Server-Token: POSTMARK_API_TEST" \
  -d "{From: 'sender@example.com', To: 'receiver@example.com', Subject: 'Hello from Postmark', HtmlBody: '<strong>Hello</strong> dear Postmark user.'}"

Switching to Postmark?

Check out our handy migration guides

Official API libraries for all your favorite languages and frameworks.

Delivery Speed

Fast and reliable email delivery that scales

Enjoy the same great deliverability from your very first email, to your billionth. We constantly monitor our delivery speeds and publish the data for all to see.

  • Gmail

  • Apple

  • Hotmail

  • AOL

  • Yahoo

Time to Inbox data updated every 5 minutes
Activity Icon

Complete insight into your sending

Get full visibility into your sending with 45 days of email history as standard (also customizable from 0 to 365 days), including open and click tracking to measure how users engage with your emails.

Activity screenshot showing filter tools
Search, filter, and view up to 365 days of detailed message activity from the activity feed.
Message events screenshot
Detailed message event logs for every email.
Message HTML and plain text preview screenshot
Full HTML and plain text content for every message you send.
Templates Icon

All your email templates in one place

Postmark’s templates API makes it easy to create and manage all the emails your application needs to send. Get started with our collection of easily customizable open source templates, or code your own.

Pre-built templates page screenshot
Start from a variety of pre-built templates or build your own.
Template editor screenshot
Edit and tweak your templates directly in Postmark.
Template preview screenshot
Preview your templates with easily updatable test data.
  • Abdullah Al-hennawy Abdullah
  • Anita Pericic Anita
  • Anna Ward Anna
  • Brian Kerr Brian
  • Dana Chaby Dana
  • Fionnuala Walls Fionnuala
  • Jordan Dibb Jordan
  • Natalie Keshlear Natalie
  • Natalie Robles Natalie
  • Shelley Jeżewska Shelley

Meet our knowledgeable support team

Email is complicated. Our customer success team are always on hand to help you get set up, investigate bounce reports, or answer any other questions you have.

94%
Customer Happiness Rating
  • 😃 Great (94%)
  • 🙂 Okay (2%)
  • 😔 Not Good (4%)

Customer feedback gathered through Help Scout over the past 60 days.

Stack of emails with Postmark ribbon

Simple and transparent monthly plans

No expensive add-ons or nasty surprises as you scale up your business.

 
Emails per month
Monthly price
Additional emails

Need more emails?

Get in touch to discuss our high-volume tiers.

What’s your monthly email volume?

Tell us how many emails your application sends and receives each month and we’ll find the best tier for you

Three stacks of envelopes
Optional add-ons

Dedicated IPs

Starts at $50/month per IP

Our fully managed dedicated IPs are available to customers sending 300,000 emails per month or more.

Learn more →

DMARC Monitoring

Starts at $10/month per domain

Fix authentication issues that prevent your email from reaching the inbox and see who’s sending using your domain with DMARC Digests.

Learn more →

Custom activity retention

Starts at $5/month

Customize how long Postmark will store activity data and message content for your emails. Statistics are always kept indefinitely.

Learn more →

The best email provider for startups

Join thousands of startups that already trust their email delivery to Postmark.